我希望能够检查文件是否存在。
if [ -f "/var/run/screen/user/*.$InstanceName" ]; then
echo -e "screen instance exist"
fi
但是威尔卡/小丑不起作用
我如何通过它?
答案 0 :(得分:1)
您的通配符不起作用,因为它已被引用。然而,取消引用它可能会破坏[
命令,因为它只需要一个文件名参数,如果两个或多个文件都是全局的,它就会破坏。
在bash中你可以使用compgen
生成一个与globbing模式匹配的文件列表,如果没有找到globs,它还会设置正确的退出状态,这是一个hack?我不知道,但它可能看起来像:
if compgen -G "/var/run/screen/user/*/$InstanceName" > /dev/null; then
printf "screen instance exist\n"
fi