我有一個Shell腳本文件。在它裏面,我已經在放置sh文件的同一個文件夾中創建了一個文本文件。使sh可執行文件像在窗口中的exe文件一樣
我想雙擊運行sh文件。當用戶雙擊sh文件時,sh文件將被執行並且一個文本文件應該在相同的目錄中生成。
我知道我可以使用使可執行文件:chmod +x myfile.sh
但問題是:
當我運行在其它機器或者同一臺機器上這個文件用不同的 驅動,我需要再次執行。我想要在Windows中像「exe 文件」一樣的行爲。
我有一個Shell腳本文件。在它裏面,我已經在放置sh文件的同一個文件夾中創建了一個文本文件。使sh可執行文件像在窗口中的exe文件一樣
我想雙擊運行sh文件。當用戶雙擊sh文件時,sh文件將被執行並且一個文本文件應該在相同的目錄中生成。
我知道我可以使用使可執行文件:chmod +x myfile.sh
但問題是:
當我運行在其它機器或者同一臺機器上這個文件用不同的 驅動,我需要再次執行。我想要在Windows中像「exe 文件」一樣的行爲。
您能右鍵單擊該文件並選擇properties
。選中Allow executing file as a program
。
我也做過。但它不起作用。我需要通過終端和更改權限:chmod + x myfile.sh – Rickyrock
如果它不工作。也許你正在執行的文件不是你當前用戶所有的。嘗試使用chown
如果將文件複製到其文件系統不支持Linux權限模型的驅動器,則將失去這些權限。解決方法是使用Linux友好的文件系統(重新格式化驅動器,使用例如ext2
文件系統),但較少入侵的解決方法是將文件存儲在確保權限的容器中(例如tar
文件)並將其從到目標系統。
如果您需要支持只能學習用鼠標單擊並拖動的用戶,則只有第一個選項是可行的。
如果目標系統可以訪問互聯網,也許最簡單的方法就是將文件放在服務器上,然後在文本棒上放一個帶有下載URL的文本文件。
什麼類型的文件系統,你要複製這個腳本,它失去了它的可執行位?嘗試傳遞'tar'檔案並從'tar'解壓縮,這可能會保留這些位。 – woolstar
woolstar @我正在使用Ubuntu 12.04。我在這臺機器上生成可執行文件,並將它複製到pendrive上,當它從其他機器上的pendrive(我的朋友的機器 - Ubuntu 10.04)上運行時,它不起作用。 – Rickyrock
筆式驅動器格式化爲FAT嗎?或ext3? – woolstar