2014-08-30 34 views
0

我編寫了一個shell腳本,我將其發佈給我的朋友。在我的電腦上,它工作得很好,因爲我將shell腳本的默認應用程序設置爲Terminal。但是,當我的朋友打開它時,腳本將在TextEdit中打開。有沒有辦法在shell腳本啓動之前向shell腳本添加一個參數,以便在終端而不是文本編輯器中打開?在終端(Mac)中打開shell腳本無論bash腳本的默認應用程序設置爲

謝謝

PS,我做了chmod a + x的文件。我還確保將#!/ bin/sh添加到腳本中。我也一直在使用擴展名.command,.cmd和.tool進行測試。這將解決我的問題,除非Gatekeeper不會讓腳本運行,因爲我不是註冊的Apple開發人員。

+0

嘗試將名稱更改爲'yourfile.cmd'或'yourfile.command' - 即添加'.cmd'的擴展名。 – 2014-08-30 09:32:54

+0

這是有效的,除非Gatekeeper不會讓腳本運行,因爲它沒有簽名。 – 2014-08-30 09:45:47

+0

使用AppleScript包裝器發貨? – tripleee 2014-08-30 10:15:40

回答

1

如果有一種方法可以雙擊文件來運行它,那麼這將是Gatekeeper旨在防止的那種安全漏洞。所以,蘋果已經堵塞了他們能想到的任何這樣的漏洞。

將該文件作爲.command文件發送給您的朋友,並告訴他們右鍵單擊或按住Control並單擊它並選擇打開。這將把Gatekeeper對話框改爲警告,但是用「打開」按鈕讓它們繼續並打開它。系統將提示他們輸入管理員密碼,以永久記錄授予權限。從那時起,他們可以通過簡單的雙擊打開。

+0

是的。我的腳本實際上告訴Gatekeeper讓應用程序運行。因此,在任何系統上.sh文件被設置爲使用終端打開,我的腳本有效繞過Gatekeeper。 – 2014-08-30 10:43:04