双击运行.sh文件

双击运行.sh文件

GUI:
我更改了 sh 文件的权限,以便我可以读取、写入和执行它。我双击它,在 Shell/终端(以英文显示)中选择运行,但它没有运行。我双击它,选择运行,但它没有运行。

命令行:
bash *filename*运行它
sh *filename*运行它

文件内容为:

#!/bin/bash

# get dirsyncpro home
DIRSYNCPRO_HOME="$(dirname $0)"

# start programm and pass any parameters
java -Xmx512M -jar "$DIRSYNCPRO_HOME/dirsyncpro.jar" $* 

在此人的计算机上工作:

http://www.knowliz.com/2008/08/how-to-installrun-sh-file-in-linux.html

这是怎么回事?

答案1

您的测试是错误的,您必须能够运行它而无需先调用另一个 shell。

./my_little_script.sh

并不是

bash my_little_script.sh

还要仔细检查权限是否正确。

chmod 755 my_little_script.sh

答案2

您的问题是,当您尝试通过双击来运行 shell 脚本时,系统默认会在您的主目录中运行它。

到达生产线时

# start programm and pass any parameters
java -Xmx512M -jar "$DIRSYNCPRO_HOME/dirsyncpro.jar" $* 

DIRSYNCPRO_HOME文件夹不是您期望的文件夹,找不到您的 jar 文件,应用程序将默默停止。我认为如果您对的值进行硬编码,您DIRSYNPRO_HOME应该能够通过双击来运行您的 shell 脚本。

答案3

在 Ubuntu 中,“终端”实际上并不存在。在我的安装(9.10)中,我得到了这个:

程序“终端”当前未安装。您可以通过输入以下命令进行安装:sudo apt-get install terminal.app 终端:未找到命令

我不确定您是否遇到这种情况,但如果是,请尝试将选择从“Termianl”更改为“gnome-terminal”。

答案4

dirsyncpro 自述文件指出,它必须在所有非 Windows 操作系统中通过命令行运行。我一直避免运行 jar 文件,但没有其他办法。

相关内容