簡體   English   中英

Linux / Ubuntu為sh文件創建可執行命令

[英]Linux/Ubuntu create executable command for sh file

我想為Ubuntu創建可執行命令。

我有/dir/bin/start.sh

我可以這樣執行

./dir/bin/start.sh

但是我想知道如何將其放入Ubuntu配置或其他東西,因此可以僅通過shell調用它

start

您可以通過以下任一方式執行此操作:

  • 將命令目錄添加到$PATH變量中,因此:

     export PATH=$PATH:/dir/bin 

    要持久執行此操作,必須~/.profile下行添加到~/.profile文件中:

      echo 'export PATH=$PATH:/dir/bin' >> ~/.profile 
  • 在添加到路徑的目錄中創建快捷方式(例如,使用ln -s '/dir/bin/start.sh' start );

     cd <pathdirectory> ln -s '/dir/bin/start.sh' start 
  • 創建一個別名,以便外殼程序簡單地替換命令:

     echo 'alias start=./dir/bin/start.sh' >> ~/.profile 

工作方式/原因

如果您在外殼程序中鍵入命令,它將首先查找別名,然后替換別名。 因此,如果您已經為start定義了別名,它將被替換為./dir/bin/start.sh ; 就像你自己寫的一樣。

接下來,shell將嘗試查找命令的解釋。 如果命令是文件(例如,使用別名),則執行該文件。 否則,系統將退回到$PATH

$PATH s是系統在其中搜索具有該名稱的文件的路徑序列。 它以該順序搜索路徑,並在所有文件中搜索名稱相同的文件。 如果存在該文件,它將運行該文件。

因此,您可以做一些事情:

  • 將這樣的程序放在目錄中; 但這並不是一個很好的選擇,因為然后將不同的項目組合在一起;
  • 使用快捷方式( ln解決方案),在這種情況下,您只需在路徑文件夾中添加“代表”即可;
  • 通過執行PATH=$PATH:/dir/bin擴展路徑數,以便它也可以搜索您的項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM