2011-02-01 44 views
3

我正在尋找一個函數,如果shell命令存在將返回1,否則返回0 我知道有which命令返回命令的路徑if它存在。它還在手冊中說,這個命令應該有一個返回值,但嘗試 集合a = `which some_command.bin`不會將任何值放入a。 我知道我總是可以使用which然後解析結果,我只是尋找一個更清潔的解決方案如何找出shell命令是否存在於cshell

回答

5

shell命令的返回值通常不會像那樣獲取。您通常需要運行該命令,然後特殊的環境變量$?將爲您提供返回值。

請參見下面的成績單爲tcsh

pax$ which qq ; echo $? 
qq: Command not found. 
1 

pax$ which ls ; echo $? 
/bin/ls 
0 

只要把任何命令你想檢查我哪裏有ls以上。

+0

我不想運行shell命令,只是想知道它是否存在 – 2011-02-01 09:55:13