August 2012
Intermediate to advanced
624 pages
17h 11m
Polish
Dysponujemy kodem, który powinien być uruchamiany tylko w przypadku pracy powłoki w trybie interaktywnym lub w trybie nieinteraktywnym.
Należy wykorzystać instrukcję case o następującej treści:
#!/usr/bin/env bash
# nazwa pliku receptury: interaktywnosc
case "$-" in
*i*) #Kod powłoki interaktywnej
;;
*) #Kod powłoki nieinteraktywnej
;;
esacZmienna $- przechowuje ciąg tekstowy wszystkich bieżących opcji powłoki. Jeżeli wśród nich występuje opcja i, powłoka pracuje w trybie interaktywnym.
Można również zastosować skrypt przedstawiony poniżej, ale metoda opisana wcześniej jest rozwiązaniem zalecanym.
if [ "$PS1" ]; then echo Powłoka pracuje w trybie interaktywnym else ...
Read now
Unlock full access