
wenn ich den Befehl von der Bash-Shell aus ausführe:
bash
for i in 1 2 3 ; do echo $i ; done
1
2
3
aber wenn ich zu tcsh wechsle und ausführen möchte:
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.
bitte geben Sie mir einen Rat, warum ich Fehler bekomme (ich führe die For-Schleife von Bash -c aus, ist es dasselbe?) und was muss ich beheben?
Antwort1
Sie müssen es zitieren:
bash -c 'for i in 1 2 3 ; do echo $i ; done'
In Ihrem Beispiel ist „for“ der einzige Befehl, den Bash ausführt.