测试是否存在特定类型的文件
Test for file with a specific type exists
在 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
它当时 "works",但是当它找不到工作区或项目文件时,它会打印出关于没有匹配项的错误。然而,这是默认完成的,我想知道我是否可以以某种方式隐藏它。
这是错误输出,当它没有找到工作区,但确实找到了一个项目并打开它时:
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
在 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
它当时 "works",但是当它找不到工作区或项目文件时,它会打印出关于没有匹配项的错误。然而,这是默认完成的,我想知道我是否可以以某种方式隐藏它。
这是错误输出,当它没有找到工作区,但确实找到了一个项目并打开它时:
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