Path

什麼可能導致 which 在路徑中不顯示某些內容?

  • March 27, 2011

我的路徑中有一個執行檔,我相信它是一個 perl 腳本。

>$scriptname
$outputofscript

>which $scriptname
which:  0652-141 There is no $scriptname in $path

並且它列印的路徑與echo $PATH給出的路徑相同(除了空格分隔而不是冒號)。

再次執行 ksh 似乎並沒有改變我的路徑,但現在找不到腳本。

這是在 AIX 6.1 上通過 telnet 執行 ksh 的普通使用者(是的,我知道)。

跑步type $scriptname告訴我這是一個別名。顯然,這阻止了它被哪個找到。

which是 AIX 上的 csh 腳本它可能使用不同的路徑。但這似乎並不完全是您的問題,因為which列印了預期的路徑。

ksh你確定你在第一次會話中沒有不同的路徑嗎?再次執行 ksh 可能會改變 ,PATH因為它執行了~/.kshrc$ENV。(並且可以肯定的是,腳本是否仍然存在,或者它是否可以在此期間被刪除?)

引用自:https://unix.stackexchange.com/questions/10192