
bash シェルからコマンドを実行すると:
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」だけです。