Argumente verarbeiten
Die Verarbeitung von Argumenten, die über die Befehlszeile eines Skripts übergeben werden, ist wie folgt. Angenommen, wir hätten dieses Skript:
$ cat cmd.bash
#!/bin/bash
echo "arg1: $1"
echo "arg2: $2"
Führen Sie jetzt ohne Argumente aus:
$ ./cmd.bash
arg1:
arg2:
Mit 1 Argument:
$ ./cmd.bash hi
arg1: hi
arg2:
Mit 2 Argumenten:
$ ./cmd.bash hi bye
arg1: hi
arg2: bye
Überprüfen Sie die Argumente
Sie können dann überprüfen, ob die Argumente 1 und 2 gültige Verzeichnisse sind oder nicht, und dann aussteigen oder nach Bedarf fortfahren. Wir führen also zwei Überprüfungen ein, um festzustellen, ob die beiden Argumente Verzeichnisse sind oder nicht. Wenn nicht, beenden Sie das Programm.
$ cat cmd.bash
#!/bin/bash
[ -d "$1" ] || exit
[ -d "$2" ] || exit
[ $# == 2 ] || exit
echo "arg1: $1"
echo "arg2: $2"
Beispiel
Angenommen, wir haben diese Verzeichnisse.
$ mkdir d1 d2
$ ls -l
total 12
-rwxrwxr-x. 1 saml saml 89 Oct 14 23:13 cmd.bash
drwxrwxr-x. 2 saml saml 4096 Oct 14 23:14 d1
drwxrwxr-x. 2 saml saml 4096 Oct 14 23:14 d2
Wenn wir etwas anderes als 2 Verzeichnisse erhalten, wird das Skript einfach beendet.
$ ./cmd.bash hi bye
Wenn wir 2 Verzeichnisse haben:
$ ./cmd.bash d1 d2
arg1: d1
arg2: d2
Wenn wir mehr als 2 Argumente erhalten:
$ ./cmd.bash d1 d2 d3
Den Vergleich der beiden Verzeichnisse überlasse ich Ihnen. Um Bash zu lernen, verweise ich Sie auf den unten stehenden Link, um ein kostenloses Online-Buch über Bash zu erhalten.
Verweise