Basis van Linux en de opdrachtregel
$ cat s.sh
#!/bin/bash
echo "$# $1"
$ ./s.sh a "b c" dZoals hierboven te zien is, wordt het script s.sh met argumenten uitgevoerd. Wat is de uitvoer?
- A3 ./s.sh
- B3 a
- C4 a
Antwoord en toelichting tonen
Antwoord: B. 3 a
In een script zijn $1, $2, … het eerste, tweede, … argument, is $# het aantal argumenten en is $0 de naam van het script zelf. "b c" staat tussen dubbele aanhalingstekens en wordt dus één argument dat een spatie bevat; er zijn drie argumenten: a, b c en d. Daarom is $# gelijk aan 3 en $1 gelijk aan a, en is de uitvoer 3 a. Om alle argumenten gescheiden door te geven aan een ander commando, schrijf je "$@".
Verder: nog 9 vragen over Basis van Linux en de opdrachtregel