相关疑难解决方法(0)

为另一个命令包装包含单引号和双引号的命令

我最近了解了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)

这也会导致类似的错误。 …

shell zsh quoting

14
推荐指数
1
解决办法
2万
查看次数

标签 统计

quoting ×1

shell ×1

zsh ×1