Ich benutze diesen Befehl und bekomme eine Eingabeaufforderung. Ich habe es in einem Auto-FTP-Skript gefunden.Was "<<!" bedeutet in Linux Shell?
$ <<!
>
Ich möchte seinen Namen wissen und, wie man es benutzt.
Ich benutze diesen Befehl und bekomme eine Eingabeaufforderung. Ich habe es in einem Auto-FTP-Skript gefunden.Was "<<!" bedeutet in Linux Shell?
$ <<!
>
Ich möchte seinen Namen wissen und, wie man es benutzt.
<<
gefolgt von einer beliebigen Zeichenfolge bedeutet Lesen Sie die Eingabe bis zu dieser Zeichenfolge, und geben Sie all dies auf die Standardausgabe.
So finden Sie:
<<EOF
Hi,
This is some plain text.
EOF
Die meiste Zeit gibt es einen Befehl vor <<
. Das bedeutet: Lesen Sie die Eingabe und senden Sie sie an die Standardeingabe des Befehls.
So finden Sie zum Beispiel:
cat <<EOF 1>&2
This text is written to the stderr.
EOF
Aber man könnte schreiben:
<<EOF 1>&2
This text is written to the stderr.
EOF
Auf die gleiche Weise können Sie sortieren Text:
sort <<EOF
A
C
D
B
EOF
zu bekommen A B C D
in dieser Reihenfolge.
Schließlich können Sie dies mit dem Rohr auf einem anderen Befehl verwenden:
<<EOF | tr a-z A-Z
This is some text. Yes.
EOF
zu erhalten:
THIS IS SOME TEXT. YES.
Die '<< EOF | tr a-z A-Z' Beispiel ist nicht in bash 4.4 arbeiten. Es muss "tr a-z A-Z << EOF" sein –
Ja, abhängig von der Shell und ihrer Version werden einige Beispiele möglicherweise nicht unterstützt. Aber alle werden mit jeder Version von zsh unterstützt. –