如果我想检查是否存在单个文件,我可以使用test -e filename或测试它[ -e filename ].
假设我有一个glob,我想知道是否存在名称与glob匹配的文件.glob可以匹配0个文件(在这种情况下我不需要做任何事情),或者它可以匹配1个或多个文件(在这种情况下我需要做一些事情).如何测试glob是否有匹配?(我不关心有多少匹配,如果我能用一个if语句而没有循环(仅仅因为我发现最可读)这样做是最好的.
(test -e glob*如果glob匹配多个文件,则失败.)
我找不到任何一个简单直接的资源,用于解释以下BASH shell错误的含义和修复,所以我发布了我在研究之后发现的内容.
错误:
-bash: [: too many arguments
Run Code Online (Sandbox Code Playgroud)
Google友好版: bash open square bracket colon too many arguments.
上下文:单个方括号中的if条件,带有一个简单的比较运算符,如equals,大于等,例如:
VARIABLE=$(/some/command);
if [ $VARIABLE == 0 ]; then
# some action
fi
Run Code Online (Sandbox Code Playgroud)