簡體   English   中英

linux-如何在不帶./的命令行中運行/執行文件

[英]linux - how to run/execute a file in the command line without the ./

假設文件“ foo.sh”具有所有權限,而我只想在當前目錄中運行該文件:

#> ./foo.sh 

只需鍵入名稱,我可以在什么位置更改執行文件(具有權限的任何文件)的權限:

#>foo.sh

我的想法是,我可以總是這樣(在當前目錄中)。 如果./file.sh是執行文件的有效方法,則file.sh也可以工作。 不打算全局運行file.sh

編輯您的"$PATH"變量以包含此文件所在的目錄。 例如,這是我的"$PATH"/ usr / local / bin:/ usr / bin:/ bin:/ usr / local / sbin:/ usr / sbin:/ sbin:/ home / rany / bin

它包括以下目錄:

  • 在/ usr / local / bin目錄
  • 在/ usr / bin中
  • /箱
  • 在/ usr / local / sbin中
  • / usr / sbin目錄
  • / sbin目錄
  • /家庭/ rany /箱

將可執行腳本放入這些目錄之一后,只需在命令行中鍵入其名稱即可執行該腳本。

在這樣做之后,建議您閱讀此Bash常見問題解答以獲取更多信息。

您還可以將腳本復制到/usr/local/bin目錄下,該腳本用於用戶程序。

如果要執行此本地用戶專用的文件,則創建~/bin目錄,將文件放在其中,然后將此路徑附加到$PATH env中。 ':'是分隔符檢查以下鏈接。

http://www.cyberciti.biz/faq/unix-linux-adding-path/

但是,如果要全局訪問此文件。 然后將文件放在/ usr / bin或/ usr / local / bin中,然后檢查這些路徑是否已在$PATH注冊。 添加您的權限。 打開新的終端嘗試調用文件。

為什么不只添加'.' 使用以下命令到路徑: export PATH=.:$PATH

上面的命令將在當前目錄中運行任何內容。 如果您希望始終顯示此內容,請在個人資料中添加以上行。

請注意,對於某些外殼,您可能必須運行兩個命令:

PATH=.:$PATH
export PATH

您可以添加. 到您的PATH,這樣shell將執行您當前工作目錄中的所有內容。 就像是:

export PATH=$PATH:.

之后,您可以通過鍵入以下內容來運行foo.sh程序:

$ foo.sh

暫無
暫無

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

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