雙擊運行.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 installterminal.app 終端機:找不到命令

我不確定您是否屬於這種情況,但如果是,請嘗試將選擇從“Termianl”更改為“gnome-terminal”。

答案4

dirsyncpro 自述文件說它必須在所有非 Windows 作業系統中透過命令列運行。我避免運行 jar 文件,但沒有其他方法。

相關內容