当我从 bash shell 运行命令时:
bash
for i in 1 2 3 ; do echo $i ; done
1
2
3
但是当我切换到 tcsh 并想要运行:
tcsh
bash -c for i in 1 2 3 ; do echo $i ; done
i: -c: line 1: syntax error near unexpected token `newline'
i: -c: line 1: `for'
i: Undefined variable.
请告知为什么我会收到错误(我从 bash -c 运行 for 循环,结果是一样的吗?我需要修复什么?
答案1
您需要引用它:
bash -c 'for i in 1 2 3 ; do echo $i ; done'
在您的示例中,bash 正在运行的唯一命令是“for”本身。