Latest web development tutorials

Parametry mijania Shell

Możemy w realizacji scenariusza Shell przekazać parametry do skryptu, skrypt pobiera parametry wformacie: $ n.n oznacza liczbę 1, dla pierwszego wykonania parametru skryptu, 2 dla drugiego parametru w celu wykonania skryptu, i tak dalej ......

Przykłady

Poniższe przykłady mijamy trzy parametry do skryptu i wyjścia, gdzie $ 0 jest nazwa pliku do wykonania:

#!/bin/bash
# author:本教程
# url:www.w3big.com

echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";

Ustaw uprawnienia wykonywalne do skryptu i wykonać skrypt, wyjście jest w następujący sposób:

$ chmod +x test.sh 
$ ./test.sh 1 2 3
Shell 传递参数实例!
执行的文件名:./test.sh
第一个参数为:1
第二个参数为:2
第三个参数为:3

Ponadto, istnieje kilka parametrów do obsługi znaków specjalnych:

Obsługa parametrów wyjaśnienie
$ # Liczba parametrów przekazane do skryptu
$ * W jednym ciągiem wyświetla wszystkie parametry przekazane do skryptu.
Takie jak "$ *" z "" "zamkniętego przypadku, forma" $ 1 $ 2 ... $ n "wyjściu wszystkich parametrów.
$$ Bieżący numer ID procesu skryptu działa
$! Wreszcie, proces działający w tle ID numer
$ @ * $ Z tego samego, ale kiedy użyć cudzysłowu i zwraca każdy parametr w cudzysłów.
Takie jak "$ @" z "" "zamkniętej sprawie, w postaci" $ 1 "" $ 2 "..." $ n "wyjściu wszystkich parametrów.
$ - Shell wyświetla aktualną możliwość korzystania i ustawienie komendy tę samą funkcję.
$? Wyświetla kod zakończenia ostatniego polecenia. 0 oznacza brak błędów, a każda inna wartość oznacza błąd.
#!/bin/bash
# author:本教程
# url:www.w3big.com

echo "Shell 传递参数实例!";
echo "第一个参数为:$1";

echo "参数个数为:$#";
echo "传递的参数作为一个字符串显示:$*";

Wykonaj skrypt, wyjście jest w następujący sposób:

$ chmod +x test.sh 
$ ./test.sh 1 2 3
Shell 传递参数实例!
第一个参数为:1
参数个数为:3
传递的参数作为一个字符串显示:1 2 3

$ * A $ @ różnica:

  • Ta sama uwaga: wszelkie odniesienia do wszystkich parametrów.
  • Różnice: tylko odzwierciedlenie w cudzysłowach. Załóżmy, że skrypt jest uruchamiany przy pisaniu trzy parametry 1,2,3 ,, "*" jest równoznaczne z "123" (przekazać parametr) i "@" jest równoznaczne z "1", "2", " 3 "(przeszedł trzy parametry).
#!/bin/bash
# author:本教程
# url:www.w3big.com

echo "-- \$* 演示 ---"
for i in "$*"; do
    echo $i
done

echo "-- \$@ 演示 ---"
for i in "$@"; do
    echo $i
done

Wykonaj skrypt, wyjście jest w następujący sposób:

$ chmod +x test.sh 
$ ./test.sh 1 2 3
-- $* 演示 ---
1 2 3
-- $@ 演示 ---
1
2
3