Wenn ich im SSH-Terminal für CentOS den folgenden Code verwende, funktioniert das einwandfrei:
paste <(printf "%s\n" "TOP")
Wenn ich jedoch denselben Zeilencode in ein Shell-Skript (test.sh) einfüge und das Shell-Skript vom Terminal aus starte, wird ein Fehler ausgegeben
./test.sh: line 30: syntax error near unexpected token ('
./test.sh: line 30: paste <(printf "%s\n" "TOP")
Wie kann ich dieses Problem beheben?
#!/bin/sh
an der Spitze. Ich habe als ausgeführt, bash test.sh
aber es hat auch nicht funktioniert.
bash
im POSIX-Modus wird diese Syntax auch nicht unterstützt (wenn mit --posix
oder als aufgerufen /bin/sh
). Verwenden Sie #!/bin/bash
.
POSIXLY_CORRECT
beim Start eine Variable gesetzt bash
?
#!/bin/bash
oben zu wechseln hat das Problem behoben.
dash
anstelle vonbash
).