如何製作自訂 bash 指令? (運行 python、perl、ruby 檔)

如何製作自訂 bash 指令? (運行 python、perl、ruby 檔)

我想使用在 Python/Perl/Ruby 上運行的某些工具。例如,myProgram.py儲存在 ~/folder1/folder2/ 中。我想使用 bash 的輸入來運行它,例如>>> myProgram -h.

到目前為止,我已經閱讀了兩種類似的方法:

  1. 在 bin 目錄中建立檔案:
# in /bin/
~/folder1/folder2/myProgram
# this works when the target is a bash program
  1. 編輯~/.bashrc永久別名:
# in ~/.bashrc
alias myProgram='python ~/folder1/folder2/myProgram.py'

不幸的是,第一種方法似乎不適用於非 bash 文件(據我嘗試過),而第二種方法只返回一個錯誤,例如myProgram: command not found.

我應該如何製作 bash 命令以便透過命令輸入快速存取我的 Python/Perl/Ruby 工具?

答案1

要像這樣運行腳本,您需要三件事:

  1. 腳本必須位於變數中列出的目錄中$PATH。如果您將腳本放入~/bin, 以便在登入時不指定檔案的完整路徑來執行它們,則需要.bashrc透過新增以下行來擴展您的路徑export PATH=$PATH:~/bin。要查看路徑中已有哪些目錄,您只需列印它即可echo $PATH。要對文件進行任何更改,.bashrc您需要重新登入(或重新運行 bash)。
  2. 腳本必須具有可執行位權限集。為此,請執行命令chmod +x /path/to/script
  3. 腳本必須告訴使用哪個解釋器來運行它。為此,使用腳本中特殊的第一行,稱為 shebang: #!/path/to/interpreter。對於 Python 來說,這將是#!/usr/bin/python.由於不同的作業系統可能在不同的位置有二進位文件,因此建議使用 shebang 形式,#!/usr/bin/env python無論它在哪裡,它都會執行預設的 Python 解釋器。

更新:根據評論,我正在使用符號連結更新此答案。如果您只是想讓已安裝的工具更易於訪問,則不必建立腳本。您只需要找到該工具的可執行檔(或者如果它是腳本,則使其可執行(如果它還不是)),然後將符號連結(請參閱man ln)放入$PATH 中的目錄中(或將具有可執行檔的目錄會新增到您的 $小路)。

注意:只需使腳本可執行(參見 2.)並添加alias到您的.bashrc意誌中也可以,但每次創建新腳本時添加新別名非常不方便。

相關內容