Co to jest skorupka rybna równoważna następującemu uderzeniu:
echo ${TEST:-1}
W bashu wypisuje wartość TEST, jeśli istnieje, lub 1, jeśli nie ma.
Co to jest skorupka rybna równoważna następującemu uderzeniu:
echo ${TEST:-1}
W bashu wypisuje wartość TEST, jeśli istnieje, lub 1, jeśli nie ma.
Odpowiedzi:
Uważam, że potrzebujesz zmiennej tymczasowej (lub funkcji). Jeśli
$TEST
nie istnieje, jest rozwinięty do zera i$test_or
zawiera tylko1
. Byłoby miło mieć na to sposób, ale obecnie składnia jest problematyczna i nie wydaje się, żeby była naprawdę potrzebna do większości celów.Ponadto, jeśli wszystko, co chcesz, to zmodyfikować,
$TEST
jeśli jeszcze nie istnieje, możesz użyćset -q
.źródło
Aby odwołać się do zmiennej i podać wartość domyślną w linii, możesz użyć podstawienia polecenia zawierającego warunek, który działa
echo
na obu gałęziach.Ponieważ jest to rodzaj gadatliwy, można zainicjować zmienną w innym wierszu, gdy jest ona rozbrojona.
Jeśli naprawdę chcesz mieć możliwość zastąpienia domyślnego wbudowanego, możesz to zrobić w funkcji za pomocą pośredniej, a następnie wywołać tę funkcję.
źródło