368 Stimmen

Was bedeutet $@ in einem Shell-Skript?

Was bedeutet ein Dollarzeichen gefolgt von einem at-Zeichen ( @ ) in einem Shell-Skript bedeuten?

Zum Beispiel:

umbrella_corp_options $@

12voto

Aus dem Handbuch:

@

Erweitert um die Positionsparameter, beginnend bei eins. Wenn die Expansion innerhalb von doppelten Anführungszeichen erfolgt, wird jeder Parameter zu einem eigenen Wort expandiert. Das heißt, "$@" ist gleichbedeutend mit "$1" "$2" .... Wenn die Erweiterung in doppelten Anführungszeichen innerhalb eines Wortes erfolgt, wird die Erweiterung des ersten Parameters mit dem Anfangsteil des ursprünglichen Wortes verbunden, und die Erweiterung des letzten Parameters wird mit dem letzten Teil des ursprünglichen Wortes verbunden. Wenn es keine Positionsparameter gibt, expandieren "$@" und $@ zu nichts (d.h. sie werden entfernt).

-1voto

Shubh Patel Punkte 51

$@ wird grundsätzlich dazu verwendet, alle Kommandozeilenargumente eines Shell-Skripts zu referenzieren. $1 , $2 , $3 beziehen sich auf das erste Befehlszeilenargument, das zweite Befehlszeilenargument und das dritte Argument.

-2voto

王传义 Punkte 51

Sie werden oft verwendet, um einfach alle Argumente an ein anderes Programm zu übergeben

[Root@node1 shell]# ./my-script hi 11 33 hallo 11 33 [Root@node1

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X