Pytania otagowane jako shell-script

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

5
Jak zdefiniować i załadować własną funkcję powłoki w zsh
Trudno mi zdefiniować i uruchomić własne funkcje powłoki w Zsh. Postępowałem zgodnie z instrukcjami w oficjalnej dokumentacji i najpierw spróbowałem z prostym przykładem, ale nie udało mi się go uruchomić. Mam folder: ~/.my_zsh_functions W tym folderze mam plik o nazwie functions_1z rwxuprawnieniami użytkownika. W tym pliku zdefiniowałem następującą funkcję powłoki: …
54 shell-script  zsh 

4
Wykonaj polecenie przed zamknięciem
Chcę wykonać proste polecenie tuż przed wyłączeniem komputera (czas nie jest konieczny). Do uruchomienia mogę użyć /etc/rc.local; czy jest coś podobnego do zamknięcia? Zauważ, że nadal chciałbym używać zintegrowanego przycisku zamykania z menu; tzn. nie chcę używać skryptu niestandardowego za każdym razem, gdy zamykam terminal - musi być automatyczny.



4
Czy powinienem dbać o niepotrzebne koty?
Wiele narzędzi wiersza polecenia może pobierać dane wejściowe z potoku lub jako argument nazwy pliku. W przypadku skryptów o długiej powłoce rozpoczęcie łańcucha od znaku catsprawia, że ​​jest on bardziej czytelny, zwłaszcza jeśli pierwsze polecenie wymaga wieloliniowych argumentów. Porównać sed s/bla/blaha/ data \ | grep blah \ | grep -n …



4
Jak mogę całkowicie usunąć element z tablicy?
unset array[0]usuwa element, ale mimo to echo ${array[0]}otrzymuję wartość null, są też inne sposoby, ale jeśli element tablicy zawiera spacje takie jak poniżej array[0]='james young' array[1]='mary' array[2]='randy orton' ale one również nie wykonują zadania array=${array[@]:1} #removed the 1st element teraz chcę, żeby nowa tablica była jak array[0]='mary' array[1]='randy orton' Spacje …


4
Dlaczego (wyjście 1) nie wychodzi ze skryptu?
Mam skrypt, który nie wychodzi, kiedy chcę. Przykładowy skrypt z tym samym błędem to: #!/bin/bash function bla() { return 1 } bla || ( echo '1' ; exit 1 ) echo '2' Zakładam, że zobaczę wynik: :~$ ./test.sh 1 :~$ Ale tak naprawdę widzę: :~$ ./test.sh 1 2 :~$ Czy …

2
pomija komunikaty stderr w skrypcie bash
Rozważ następującą (nieco głupią) nazwę skryptu „test1.sh”: #/bin/bash # sleep 10 & echo sleep pid = $! pkill sleep Kiedy go uruchamiam, otrzymuję nie tylko wynik echa, ale także raport bash o śmierci snu na stderr: $ ./test1.sh sleep pid = 3551 ./test1.sh: line 5: 3551 Terminated sleep 10 W …


3
Znalezienie poprawnego katalogu tmp na wielu platformach
Mam skrypt, który musi utworzyć pliki tymczasowe do pracy i posprzątać po sobie. Moje pytanie dotyczy znalezienia odpowiedniego katalogu podstawowego dla plików tymczasowych. Skrypt musi działać na wielu platformach: Git Bash (Windows), Solaris, Linux, OSX. Na każdej platformie preferowany katalog tymczasowy jest wyrażany inaczej: Windows: %TMP%(i ewentualnie %TEMP%) OSX: $TMPDIR …


8
Dlaczego obowiązkowe narzędzia POSIX nie są wbudowane w powłokę?
Celem tego pytania jest odpowiedź na ciekawość, a nie rozwiązanie konkretnego problemu komputerowego. Pytanie brzmi: dlaczego obowiązkowe narzędzia POSIX nie są często wbudowane w implementacje powłoki? Na przykład mam skrypt, który w zasadzie czyta kilka małych plików tekstowych i sprawdza, czy są one odpowiednio sformatowane, ale uruchomienie na moim komputerze …

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.