相关疑难解决方法(0)

带引号的bash正则表达式?

以下代码

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.

regex bash quotes

72
推荐指数
4
解决办法
3万
查看次数

Bash检查显示不存在的文件存在文件?

在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上

bash

3
推荐指数
2
解决办法
1090
查看次数

标签 统计

bash ×2

quotes ×1

regex ×1