如何确定shell中是否存在shell命令

时间:2011-02-01 09:44:53

标签: shell command-line csh which

我正在寻找一个函数,如果存在shell命令则返回1,否则返回0 我知道有which命令返回命令的路径(如果存在)。它还在手册中说该命令应该具有返回值,但是尝试 set a = `which some_command.bin`不会将任何值放入a。 我知道我总是可以使用which然后解析结果,我只是在寻找更清洁的解决方案

1 个答案:

答案 0 :(得分:5)

通常不会像那样检索shell命令的返回值。您通常需要运行该命令,然后特殊环境变量$?将为您提供返回值。

请参阅以下tcsh的成绩单:

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

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

只需输入您要检查的任何命令,以查看上面ls的位置。