Wie überprüfe ich die richtige Anzahl von Argumenten (ein Argument)? Wenn jemand versucht, das Skript aufzurufen, ohne die richtige Anzahl von Argumenten zu übergeben, und überprüft, ob das Befehlszeilenargument tatsächlich vorhanden ist und ein Verzeichnis ist.
147
shell
das bedeutet/bin/sh
Antworten:
Übersetzung: Wenn die Anzahl der Argumente nicht (numerisch) gleich 1 ist oder das erste Argument kein Verzeichnis ist, geben Sie die Verwendung an stderr aus und beenden Sie sie mit einem Fehlerstatuscode.
Freundlichere Fehlerberichterstattung:
quelle
if [ "$#" -ne 1 ] ; then
oderif ! [ -d "$1" ]; then
um festzustellen, welche Klausel das Problem verursacht.-d
es betrifft. Wenn Sie einen separaten Scheck hinzufügen möchten, können Sie ihn-e
auf Existenz prüfen.-e
Gibt true zurück, wenn die Datei vorhanden ist. Ich habe der Antwort eine freundlichere Fehlerberichterstattung hinzugefügt.cat script.sh
Führen Sie es wie folgt aus -
Die Ausgabe wird wie folgt sein:
quelle
Sie können die Gesamtzahl der Argumente, die in der Befehlszeile übergeben werden, mit "
$#
" überprüfen. Beispiel: Mein Shell-Skriptname lautethello.sh
Ausgabe wird sein
hello-world
quelle