So fügen Sie einem Skript Argumente hinzu

So fügen Sie einem Skript Argumente hinzu

Ich möchte wissen, wie man Befehlen Argumente hinzufügt.

Ich hätte es gerne ungefähr so:

$ arg --test

„arg“ wäre der Hauptbefehl und „--test“ das Argument.

Antwort1

Für nummerierte Argumente zwischen 0und , 9wobei xdas spezifische nummerierte Argument ist, verwenden Sie diese Notation:

$x

Für nummerierte Argumente darüber, wobei es xsich um das spezifische nummerierte Argument handelt, verwenden Sie diese Notation:

${x}

Eine Liste aller Argumente erhalten Sie wie folgt:

${@}

Oder dieses:

${*}

Beachten Sie, dass bei doppelten Anführungszeichen ${*}alle durch Leerzeichen getrennten Argumente (normalerweise, technisch gesehen ist es das erste Zeichen der Variable $IFS(interner Feldtrenner)) zu einer Zeichenfolge erweitert werden. ${@}Bei doppelten Anführungszeichen wird es zu mehreren Zeichenfolgen erweitert.

${@}Bei Verwendung von oder ist eine Klammerung nicht erforderlich ${*}.

Antwort2

Dies ist möglicherweise ein Duplikat der beantworteten Fragen. Nachfolgend finden Sie jedoch eine mögliche Lösung für Ihre Anfrage in Form eines sehr einfachen Shell-Skripts.

#!/bin/bash

for i in ${@} ; do
    case ${i} in
        --test)     echo "test option found"
                    ;;
        *)          echo "Usage: $0 [--test]"
                    exit 1
    esac
done
echo "$0 finished."

Sie können noch mehr lernen, wenn Sie mit den Optionen dieses Shell-Skripts auf der Kommandozeile herumspielen. Dies kann die erste Antwort ergänzen, indemJL2210ganz passend.

NB: Die Zeile echo "Usage: $0 [--test]"soll eine Hilfemeldung anbieten und verwendet die Konvention, optionale Argumente in eckigen Klammern anzugeben.

Hoffe das hilft.

verwandte Informationen