[英]How to make Automator run Shell Script that requires sudo password?
[英]How to make a shell script global?
我在Mac的OS 10.6上,我正在嘗試學習關於shell腳本的一兩件事。 我理解如何保存shell腳本並使其可執行,但我想知道我可以做什么或者我可以保存文件以使其全局化(也就是說,無論我在哪個文件夾都可訪問)。
例如,如果我將.sh文件保存在/ Users / username /目錄中並使其可執行,我只能在該特定目錄中執行該腳本。 例如,如果我導航到/ Users / username / Downloads,我就無法執行腳本。
此外,任何有關shell腳本學習的資源建議都會有所幫助。 謝謝
/usr/local/bin
將是最合適的位置。 Mac OS X默認在PATH
使用它
傳統上,這樣的腳本要么進入~/bin
(即:主目錄中的bin目錄)或/usr/local/bin/
前者意味着腳本只適合你,后者適用於你希望任何人使用的腳本系統能夠運行。
如果將其放在~/bin
,則可能需要將其添加到PATH環境變量中。 /usr/local/bin
應該已經在路徑上。
有兩種方法可以做到 -
** 注意 :如果要使用縮短的命令運行腳本而不是鍵入整個文件名,請將以下內容添加到.bash_profile:
alias myscript='my_script.sh'
然后你可以通過輸入myscript
來運行腳本。 (你可以用你想要的任何別名來分)
在mac操作系統中
在使用bash shell時,將該腳本編寫為函數,然后將其放入.bashrc或通過“source file_name”獲取包含該函數的文件
現在通過shell中的函數調用執行腳本。
如果您熟悉bashrc文件,這個非常簡單! 這將完全使用您的.bashrc文件,需要2秒才能完成。
(我使用Arch Linux Manjaro,所以我使用位於我的主目錄中的.bashrc)
要放在.bashrc文件中的代碼:
# Simple bashrc method to launch anything in terminal from any directory
YOURCOMMAND () {
cd /path/to/directory/containing/your/script/ && ./YOURSCRIPT
}
正如您所看到的,首先使用簡單的'cd'命令並將其命名為腳本位置的目錄,然后使用'&&'以便您可以立即執行下一個命令,最后打開腳本就像您一樣一般! 超級簡單並保存在.bash文件中! :)
希望我幫助過某人!
此致
AnonymousX
將它保存在/usr/bin
(或PATH
任何其他目錄)或編輯PATH
以包含您保存的目錄將基本上使其在任何目錄中運行。
從'script.sh'的工作目錄“mv [script.sh] / usr / local / bin”(未經測試,但似乎是最不復雜的IMO方式。)
您應該將它放在計算機上的全局可執行文件目錄中。 我認為在基於Unix的操作系統上通常是/usr/bin
(但這通常需要在該機器上具有超級用戶權限)。
您也可以將它放在$PATH
環境變量中的任何其他目錄中,盡管它只適用於在該變量中具有該目錄的那些用戶。
您可以通過在shell中鍵入echo $PATH
來找到$PATH
的值。 目錄由以下分隔 :
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.