尝试从变量执行小脚本,正确的语法是什么?

时间:2019-05-24 07:17:47

标签: bash

这不起作用

X="bash -c 'for I in \$(seq 1 3); do sleep 1; echo \$I; done'"
$X

我明白了

  

I:-c:第0行:寻找匹配的`''I:-c:

时出现意外的EOF      

第1行:语法错误:文件意外结束

但是X看起来是文件。

echo $X
  

bash -c'对于$(seq 1 3)中的I;睡1回显$ I;完成”

如果我将该行复制粘贴到bash提示符中,它将按预期工作。

我的目标是能够将简短的即席脚本传递到更大的脚本中,并在某个时候运行它。

如果有更好的方法来传递和执行文字脚本文本,我想学习它。

1 个答案:

答案 0 :(得分:0)

尝试:

X="bash -c 'for I in \$(seq 1 3); do sleep 1; echo \$I; done'"
eval $X