perl – Shell测试以查看二进制文件是否在您的路径中
发布时间:2020-12-15 23:26:40 所属栏目:大数据 来源:网络整理
导读:在csh,tcsh,bash,perl(等)中你可以进行与之相同的测试(不一定使用相同的语法): test -e PATH; # Does PATH existtest -f PATH; # Is PATH a filetest -d PATH; # is PATh a directory... 是否存在类似的结构来检查二进制文件是否在您的路径中? (也许是否存
在csh,tcsh,bash,perl(等)中你可以进行与之相同的测试(不一定使用相同的语法):
test -e PATH; # Does PATH exist test -f PATH; # Is PATH a file test -d PATH; # is PATh a directory ... 是否存在类似的结构来检查二进制文件是否在您的路径中? (也许是否存在别名,甚至内置存在) 显然,这可以用以下形式完成: #!/usr/bin/env bash C=COMMAND; test $(which $C) -o $(alias $C) && "$C exists" 或其他shell /脚本语言中的类似内容. 问题不在于是否可以测试程序,命令等是否存在.问题在于是否存在内置测试. 解决方法
从技术上讲,如果您只是在当前PATH中查找内容,那么唯一真正的解决方案是第二个代码块的第一部分:
which $C 这是唯一真正符合当前PATH实际要求的那个,因为whereis将在路径之外搜索:
和别名当然与实际的可执行文件无关,而是与shell环境中的别名命令无关 所以,实际上,你已经有了正确的方法,只要注意你知道哪些地方可能不是对这一系列测试的有用补充. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |