shell – 存在具有特定类型的文件的测试
发布时间:2020-12-15 21:20:03 所属栏目:安全 来源:网络整理
导读:在fish中,您可以使用test -e hello.txt测试特定文件是否存在,但我想知道是否有办法在文件名中使用通配符值,以检查是否存在任何文件类型. 更具体地说,我正在制作一个检查Xcode工作空间的快速功能,如果发现它打开它,如果没有,则检查Xcode项目,如果发现它打开,
在fish中,您可以使用test -e hello.txt测试特定文件是否存在,但我想知道是否有办法在文件名中使用通配符值,以检查是否存在任何文件类型.
更具体地说,我正在制作一个检查Xcode工作空间的快速功能,如果发现它打开它,如果没有,则检查Xcode项目,如果发现它打开,否则打印错误. 这是当前的实现: function xcp open *.xcodeproj end function xcw open *.xcworkspace end function xc if test -e *.xcworkspace xcw else if test -e *.xcodeproj xcp else echo "No Xcode Workspace or Project in this directory." end end 它在一分钟“工作”,但是当它找不到工作空间或项目文件时,它会输出一个关于没有匹配的错误.然而,这是默认情况下完成的,我想知道我是否可以以某种方式隐藏它. 这是错误输出,当它找不到工作区时,但找到一个项目并打开: No matches for wildcard '*.xcworkspace'. (Tip: empty matches are allowed in 'set','count','for'.) ~/.config/fish/functions/fish_prompt.fish (line 1): if test -e *.xcworkspace ^ in function 'xc' called on standard input 解决方法
试试吧:
function xc set -l workspaces *.xcworkspace set -l projects *.xcodeproj if test (count $workspaces) -gt 0 xcw else if test (count $projects) -gt 0 xcp else echo "No Xcode Workspace or Project in this directory." end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |