我最近了解了watch,但在使用相对复杂的命令时遇到了麻烦。
例如,我想要求每三秒watch
运行以下命令*:zsh
for x in `command_1 | grep keyword | cut -d' ' -f1`; do command_2 "word[word=number]" $x; done
Run Code Online (Sandbox Code Playgroud)
如您所见,上面的行包括单引号、双引号和其他特殊字符。
所以我试过:
watch -n 3 "for x in `my_command | grep keyword | cut -d' ' -f1`; do command2 "rusage[mem=7000]" $x; done"
Run Code Online (Sandbox Code Playgroud)
但后来我得到了:
在 !@#$# ....; 中找不到与 x 匹配的匹配项 完毕
我尝试了其他组合但没有成功。这是其中一种尝试:
watch -n 3 "for x in $(bjobs -w | grep pre_seg | cut -d' ' -f1); do bmod -R "rusage[mem=7000]" $x; done"
Run Code Online (Sandbox Code Playgroud)
这也会导致类似的错误。 …