Pytania otagowane jako shell-script

Pytania dotyczące skryptów powłoki, plików wykonywalnych interpretowanych przez powłokę (bash, zsh itp.).

6
Pułapka, błąd i echo linii błędu
Próbuję utworzyć raportowanie błędów za pomocą pułapki w celu wywołania funkcji dla wszystkich błędów: Trap "_func" ERR Czy można uzyskać informację, z której linii wysłano sygnał ERR? Powłoka to bash. Jeśli to zrobię, mogę odczytać i zgłosić, które polecenie zostało użyte, i zarejestrować / wykonać niektóre działania. A może źle …


5
Sprawdź, czy $ REPLY jest w zakresie liczb
Piszę skrypt powłoki dla systemu Linux, używając Bash, aby przetłumaczyć dowolny plik wideo na MP4. Do tego używam avconvz libvorbisdźwiękiem. Wewnątrz mojego skryptu mam pytanie do użytkownika: read -p "- Audio Quality [scale from -2 to 10] ? " if [ -n "$REPLY" ] ; then ABITRATE="-aq $REPLY" fi Mój …

1
Czy instrukcje bash case mogą kaskadowo?
Próbuję zrobić coś takiego: case $level in 3) echo "Level Three" 2) echo "Level Two" 1) echo "Level one" ;; esac gdzie jeśli $ poziom = 3, wynik byłby wyprowadzony Level Three Level Two Level One podczas gdy jeśli poziom $ = 1, to wypisuje tylko Level One Ale kiedy …


4
Wyrównanie danych wyjściowych skryptu powłoki Bash
Mój skrypt: date echo -e "${YELLOW}Network check${NC}\n\n" while read hostname do ping -c 1 "$hostname" > /dev/null 2>&1 && echo -e "Network $hostname : ${GREEN}Online${NC}" || echo -e "${GRAY}Network $hostname${NC} : ${RED}Offline${NC}" done < list.txt sleep 30 clear done Czy wyprowadza takie informacje: Network 10.x.xx.xxx : Online Network 10.x.xx.xxx : …


7
Przenośny sposób na uzyskanie absolutnej ścieżki skryptu?
Jaki jest przenośny sposób dla skryptu (zsh) na określenie jego bezwzględnej ścieżki? W systemie Linux używam czegoś takiego mypath=$(readlink -f $0) ... ale to nie jest przenośne. (Np. readlinkNa Darwinie nie rozpoznaje -fflagi, ani nie ma żadnego odpowiednika.) (Ponadto, użycie readlinkdo tego jest, co prawda, dość niejasno wyglądającym włamaniem.) Jaki …

4
Jak zrobić plik tymczasowy w pamięci RAM?
Mam skrypt, do którego potokuje dane wyjściowe |tee scriptnameYYMMDD.txt. Po każdym cyklu pętli for, w której generowane jest wyjście, będę odwracał zawartość pliku tac scriptnameYYYYMMDD.txt > /var/www/html/logs/scriptname.txt, aby wynik dziennika był widoczny w oknie przeglądarki z najnowszymi wierszami u góry. Będę miał kilka skryptów wykonujących to równolegle. Próbuję zminimalizować aktywność …

3
Użycie sed do pokolorowania wyniku polecenia Solaris
Mam skrypt ksh, który musi działać zarówno na systemie Linux, jak i Solaris. Próbuję pokolorować dane wyjściowe określonych poleceń. Działa na Linuksie (konkretnie RHEL6), ale nie na solaris (SunOS 5.10). Komenda w systemie Linux (wyjściowy „test” ma poprawnie czerwony kolor): [amartin@linuxbox:~]$ echo "test" | sed 's,.*,\x1B[31m&\x1B[0m,' test Polecenie na solaris …

3
Co oznacza `{{(wyjście 1); wyjście 1; }; } `znaczy?
Zacytowałem kolejny fragment kodu config.statuswygenerowany przez configure. if test ! -f "$as_myself"; then { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi Co robi fragment …


11
Dlaczego powłoka nie naprawia automatycznie „bezużytecznego użycia kota”? [Zamknięte]
Wiele osób korzysta z onelinerów i skryptów zawierających kod wzdłuż linii cat "$MYFILE" | command1 | command2 > "$OUTPUT" Pierwszy catjest często nazywany „bezużytecznym użyciem kota”, ponieważ technicznie wymaga on rozpoczęcia nowego procesu (często /usr/bin/cat), w którym można by tego uniknąć, gdyby polecenie było < "$MYFILE" command1 | command2 > …

1
Gdzie są kontynuacje linii bash po && i || udokumentowane?
Często widziałem ten konstrukt w skryptach i sam go używałem, ale niepokoi mnie to, że nie mogę go znaleźć w dokumentacji. Przykład: [ -f file1 ] && [ -f file2 ] && echo "Both files exist." || echo "One or the other file doesn't exist." Można to również zrobić za …

4
Zakres zmiennych lokalnych w funkcjach powłoki
Po przeczytaniu 24.2. Zmienne lokalne , pomyślałem, że zadeklarowanie zmiennej varze słowem kluczowym localoznacza, że varwartość jest dostępna tylko w bloku kodu ograniczonym nawiasami klamrowymi funkcji. Jednak po uruchomieniu następujący przykład, okazało się, że varmożna również uzyskać, odczytywane i zapisywane z funkcji powołuje tego bloku kodu - czyli choć vardeklaruje …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.