${ varname :- word }: Jeśli varname istnieje i nie jest null, zwraca wartość varname, w przeciwnym razie zwraca słowo. Używany do zwracania wartości domyślnej, gdy zmienna nie istnieje lub nie jest zdefiniowana. Jeśli jest to ${ varname - word }, może być null, gdy varname istnieje, np. definiujemy myparam=, zwracając wartość varname, w przeciwnym razie zwracając słowo. Możesz też usunąć ":", które ma to samo znaczenie i nie jest powtarzane.
${ varname := word }: Jeśli varname istnieje i nie jest null, zwraca wartość varname, w przeciwnym razie przypisuje mu wartość słowa i zwraca tę wartość. Używany do ustawienia domyślnego ustawienia dla zmiennej, która nie istnieje lub nie jest zdefiniowana. Dla parametrów pozycji nie można przypisać tylko do odczytu i nie można przypisać.
${ varname :? message }: Jeśli varname istnieje i nie jest null, zwraca wartość varname, w przeciwnym razie wypisuje informację varname:message i skrypt przerwania, jeśli nie ustawimy wiadomości, zostanie użyty domyślny "parameter null or not set". Używany do sprawdzania błędów, gdy zmienne nie są zdefiniowane.
${ varname :+ word }: Jeśli varname istnieje i nie jest null, zwraca wartość słowa, w przeciwnym razie zwraca null. Używany do wykrywania obecności lub braku zmiennych.
${ varname : offset : length }: Operacja uzyskania podciągu. Zwraca ciąg długości z pozycji przesuniętej w wariamie. Pierwsza pozycja to 0, jeśli długość nie jest podana lub jest nieprawidłowa (mniejsza niż 0), zwracane są wszystkie znaki po przesunięciu (offset), a jeśli jest {@:offset:length}, zwracany jest całkowity parametr długości parametru skryptu z pierwszego parametru offset.
Stwórz nowy skrypt testowy test.sh w następujący sposób:
|