2011-12-07 30 views
129

首先我使用Mac。如何通過雙擊將此file.sh可執行文件?

接下來,我需要執行這個「file.sh」我們會調用它。每次我需要執行它,我要打開終端,輸入:

cd /Users/Jacob/Documents/folderWithFileInIt 
bash file.sh 

這是正常的,但我覺得這將是快了很多,如果我把文件上雙擊執行,你不覺得?

所以我的問題是,如何通過雙擊使這個文件可執行?

我的想法是要麼:

一)鍵入類似CHMOD到終端和更改權限?

b)製作一個文件,把我寫在上面的代碼^然後讓這個文件成爲可執行文件?

c)做一個自動化以某種方式做到這一點?

哪種方式最好,還是有更好的方法?也請儘可能多地解釋,我是Terminal的新手。謝謝。

+1

如果你想要一個很好的,容易點擊的腳本,那麼是的,Automator是正確的工具。你似乎知道你的問題,那麼你的問題是什麼? –

回答

275

默認情況下,*.sh文件在文本編輯器(Xcode或TextEdit)中打開。要創建一個在終端中執行的shell腳本,請在命令後面加上「命令」擴展名,例如file.command。默認情況下,這些發送到終端,終端將執行該文件作爲shell腳本。

您還需要確保該文件是可執行文件,例如:

chmod +x file.command 

沒有這一點,終端將拒絕執行它。

請注意,在此特定情況下,腳本不必以#!前綴開頭,因爲終端專門安排使用您的默認shell執行它。 (當然,如果你想自定義使用哪個shell或者如果你想確保在使用不同的shell的時候可以從命令行執行它,你可以添加一行#!行。)

還要注意終端執行shell腳本不改變工作目錄。如果您確實需要使用特定工作目錄運行,則需要使用cd命令開始腳本。

+0

感謝您提供更有用的答案。 – Jacob

+35

你也可以使用'cd'\'dirname「$ 0」\'「'將當前工作目錄設置到你的shell skript所在的目錄。 – gearsdigital

+2

出於美觀原因,您還應該右鍵單擊.command文件並打開信息。您可以選擇隱藏後綴(名稱和後綴)。 – Bijan

12

你可以告訴搜索打開.sh文件終端:

  1. 選擇文件
  2. 上獲取信息(CMD-I)
  3. 在節中的「打開方式」,選擇在彈出菜單中「其他...」
  4. 選擇終端作爲應用

這將重新命名完全一樣的效果它到.command除...你不必重新命名:)

25

完全刪除擴展,然後雙擊它。大多數系統shell腳本就像這樣。只要它有一個shebang它會起作用。

+3

你的答案對MacOS來說簡直就是......簡單而快速 – Sam

+1

順便說一句,「shebang」主要是在任何線條前的這一行:#!/ bin/sh但它可以不同,閱讀提供的其他情況下的鏈接。 –

2
  1. 啓動終端
  2. 類型 - >納米文件名
  3. 膏中的文件內容,並將其保存
  4. 類型 - >使用chmod + X文件名
  5. 這將創建exe文件,現在你可以雙擊和它。

文件名應在雙引號內。 由於我使用的MAC->在批處理文件我的情況下,含量

CD /用戶/ YOURNAME /文檔/ SeleniumServer

Java的罐子硒的服務器獨立-3.3.1.jar - 角色集線器

它肯定會工作

相關問題