我无法理解使用时需要转义的内容sh -c。
假设我想运行 for 循环for i in {1..4}; do echo $i; done。就其本身而言,这工作得很好。如果我将它传递给eval,我需要转义$: eval "for i in {1..4}; do echo \$i; done",但我不能让它工作sh -c "[...]":
$ sh -c "for i in {1..4}; do echo $i; done"
4
$ sh -c "for i in {1..4}; do echo \$i; done"
{1..4}
$ sh -c "for i in \{1..4\}; do echo \$i; done"
{1..4}
$ sh -c "for i in \{1..4\}\; do echo \$i\; …Run Code Online (Sandbox Code Playgroud)