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

n00*_*mer 3 shell command-line csh which

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

pax*_*blo 5

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

请参阅以下成绩单tcsh:

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

pax$ which ls ; echo $?
/bin/ls
0
Run Code Online (Sandbox Code Playgroud)

只要把你要检查的命令检查我ls上面的位置.