bash + Befehl in tcsh von bash aus ausführen

bash + Befehl in tcsh von bash aus ausführen

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.

verwandte Informationen