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 文件,但没有其他办法。