[英]How to change default directory for a command in Bash?
首先,我是Linux的新手,所以如果任何術語錯誤,請原諒。 我將盡力解決這個問題。
我已經通過Linuxbrew安裝了Ruby( 2.4.0
)。 ruby
命令工作正常; 它安裝正確。 但是,當我嘗試使用gem
命令(應該已經安裝了Ruby)時,會出現以下錯誤: bash: /usr/bin/gem: No such file or directory
現在,因為我在Linuxbrew上安裝了該目錄,所以我知道該目錄不正確。 例如:
which gem
結果: /home/me/.linuxbrew/bin/gem
which ruby
結果: /home/me/.linuxbrew/bin/ruby
因此,似乎gem
已安裝,但在gem
命令沒有鏈接到正確的路徑。 我假設我需要將gem
命令定向到該gem
的路徑, which gem
不是bash所說的不存在的/usr/bin/gem
。 我將如何改變呢? 我徒勞地嘗試更改bash_profile
但是我不確定該怎么做。
再說一次,對不起,如果未將ruby
和gem
稱為命令,並且問題不是標題中所述的“默認目錄”。 我不確定如何標記它。
編輯/ TL; DR:
基本上,我如何使gem
執行此操作: /home/me/.linuxbrew/bin/gem
而不是在/usr/bin/gem
中查找程序?
不用運行gem
,而是運行/home/me/.linuxbrew/bin/gem
,即輸入完整路徑名(后跟您可能需要的任何參數)。
如果這太累了,您可以更改PATH。 在bin目錄前添加
PATH=$HOME/.linuxbrew/bin:$PATH
首先,出現錯誤/usr/bin/gem not found
是,在同一個shell會話中,該文件以前曾經存在。 當多次運行同一命令時,Bash將緩存此內容以加快處理速度。 運行hash -r
將清除此情況。
編輯您似乎已經管理過的PATH
,因此which
命令給出了它要執行的結果。
要回答我自己的問題,
正如我以前安裝和卸載通過紅寶石易於得到,而不是Linuxbrew在同一個終端窗口,猛砸在尋找gem
的usr/bin
,而不是在我指定的路徑bash_profile
到Linuxbrew。
因此,我敢肯定,上面用hash -r
Stian答案也可以。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.