$ cat test.sh
set -eu
echo "`wc -l < $DNE`"
echo should not get here
$ /bin/bash test.sh
test.sh: line 2: DNE: unbound variable
should not get here
Używam wersji bash 4.1.2. Czy istnieje sposób, aby upewnić się, że wszystkie takie użycie zmiennych niezwiązanych w podpowłokach spowoduje, że skrypt zakończy działanie bez konieczności modyfikowania każdego połączenia z podpowłoką?bash niezwiązana zmienna nie powodująca wyjścia z podpowłoki po ustawieniu -eu
@ odpowiedź Phila pracował na Linux, OS X i Solaris. Możesz rozważyć zaakceptowanie go. – jww
To przyzwoita alternatywa, ale nie spełnia wymagań oryginalnego pytania: "bez modyfikowania każdego połączenia". Jeśli flagi były zgodne z oczekiwaniami, jest bardziej ustawiona i zapomniana, niż konieczność pamiętania, aby zrobić coś za każdym razem, gdy zmienna jest używana w określonej sytuacji. – Jason