在编写BASH脚本时,我通常使用whichLinux机器的命令(其中Linux机器指的是基于桌面的Linux操作系统,如Ubuntu,Fedora,OpenSUSE)来查找其他二进制文件的路径或可用性.据我所知,which可以搜索PATH变量集中存在的二进制文件(命令).
现在,我无法理解如何which在该机器上没有命令本身的情况下继续操作.
我的目的是创建一个可以在机器上运行的shell脚本(BASH),如果环境不够(比如缺少脚本中使用的某个命令),它应该能够正常退出.
有没有人在这方面有任何建议.据我所知,可以象使用方式locate或find等-但是,如果连他们都没有提供什么.我已经知道的另一个选择是我which在标准路径上寻找二进制的存在,如/usr/bin/或/bin/或/usr/local/bin/.还有其他可能性吗?
提前致谢.
type which
Run Code Online (Sandbox Code Playgroud)
type是一个bash内置命令,所以它总是在bash中可用.有关man bash详细信息,请参阅.
请注意,这也将识别别名:
$ alias la='ls -l -a'
$ type la
la is aliased to 'ls -l -a'
Run Code Online (Sandbox Code Playgroud)