tom*_*sen 13 regex bash shell grep
我试图找到一个包含术语"someWord"的特定过程和另外两个由$ 1和$ 2表示的术语
7 regex="someWord.*$1.*$2"
8 echo "$regex"
9 [ `pgrep -f $regex` ] && return 1 || return 0
Run Code Online (Sandbox Code Playgroud)
返回
./test.sh foo bar
someWord.*foo bar.*
./test.sh: line 9: [: too many arguments
Run Code Online (Sandbox Code Playgroud)
我的正则表达式会怎么样?直接在shell中执行该pgrep工作正常.
小智 8
好先生,也许是这个
[[ `pgrep -f "$regex"` ]] && return 1 || return 0
Run Code Online (Sandbox Code Playgroud)
或这个
[ "`pgrep -f '$regex'`" ] && return 1 || return 0
Run Code Online (Sandbox Code Playgroud)