双击时 Shell 脚本没有运行

双击时 Shell 脚本没有运行

我在 Lubuntu (15.04) 桌面上创建了一个 shell 脚本 (test.sh)。权限为:仅所有者(查看内容 + 更改内容 + 执行)。

当我双击 test.sh 时,我选择“在终端中执行”。终端 (LXTerminal) 打开了,但脚本并未执行。

当我输入时,./test.sh脚本就会执行。但这不是我想要的。这个问题的解决方案是什么?

答案1

听起来你的脚本缺少一行代码。确保脚本的第一行是:

#!/usr/bin/env bash

或者

#!/bin/bash

附言一下,你应该避免.sh在 bash 脚本中添加扩展名,因为 bash 不是 sh。最好根本不使用扩展名。

答案2

这听起来像是一个已知的、现有的错误:lubuntu-default-settings 没有指定在终端中执行的正确命令

该错误报告建议采用以下解决方法(改用 X-terminal)。

解决方法:

在 pcmanfm 首选项中,在高级选项卡下,将终端更改为"x-terminal-emulator -e %s"。您还可以更改 ~/.config/libfm/libfm.conf 中的“终端”值。

我以前使用过的另一种解决方法是创建桌面快捷方式 - 但这样你就只能双击桌面了。

要创建快捷方式,您可以运行以下命令:

lxshortcut -o ~/Desktop/test.sh

(其中 test.sh 是您希望文件在桌面上的名称。)

这将打开 lxshortcut,它将根据您在 GUI 中的响应创建一个 .desktop 文件。

手动创建 .desktop 文件也应该可行

相关内容