以下代码
number=1
if [[ $number =~ [0-9] ]]
then
echo matched
fi
Run Code Online (Sandbox Code Playgroud)
作品.但是,如果我尝试在正则表达式中使用引号,它会停止:
number=1
if [[ $number =~ "[0-9]" ]]
then
echo matched
fi
Run Code Online (Sandbox Code Playgroud)
我也试过"\[0-9\]"了.我错过了什么?
有趣的是,bash高级脚本指南表明这应该有效.
Bash版本3.2.39.
在bash中运行以下命令:
stuff=`rpm -ql <some package> | grep dasdasdfd`
Run Code Online (Sandbox Code Playgroud)
(包中不存在的文件,退出代码= 1,标准输出为空)
if [ -f $stuff ]; then echo "whaaat"; fi
Run Code Online (Sandbox Code Playgroud)
上面的命令检查文件是否存在...但是:
file $stuff
Run Code Online (Sandbox Code Playgroud)
只需打印文件的使用信息......和
stat $stuff
Run Code Online (Sandbox Code Playgroud)
缺少操作数......
有人可以解释一下原因吗?这是一个错误吗?难道我做错了什么?我只是想确保包中的文件出现在fs上