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: …
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.
Jak najłatwiej znaleźć nieużywany port lokalny? Obecnie używam czegoś podobnego do tego: port=$RANDOM quit=0 while [ "$quit" -ne 1 ]; do netstat -a | grep $port >> /dev/null if [ $? -gt 0 ]; then quit=1 else port=`expr $port + 1` fi done Czuje się strasznie rondo, więc zastanawiam się, …
Tworzę skrypt powłoki, który pobierze nazwę pliku / ścieżkę do pliku i określi, czy plik jest dowiązaniem symbolicznym, czy dowiązaniem twardym. Jedyną rzeczą jest to, że nie wiem, jak sprawdzić, czy są twardym łączem. Utworzyłem 2 pliki, jeden twardy i drugi symboliczny, do użycia jako plik testowy. Ale jak mam …
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 …
Piszę skrypt bash, w którym chcę wyjść, jeśli użytkownik nie jest rootem. Warunkowe działa dobrze, ale skrypt nie kończy działania. [[ `id -u` == 0 ]] || (echo "Must be root to run script"; exit) Próbowałem użyć &&zamiast, ;ale nie działa.
Czasem widzę skrypty używać wszystkich tych różnych sposobów cytuje tekst: "...", '...', $'...', i $"...". Dlaczego stosuje się tak wiele różnych rodzajów ofert? Czy zachowują się inaczej lub wpływają na to, co mogę w nich zrobić?
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 …
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 …
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 …
Tak więc usunąłem mój folder domowy (a ściślej wszystkie pliki, do których miałem dostęp do zapisu). Stało się to, że miałem build="build" ... rm -rf "${build}/"* ... <do other things with $build> w skrypcie bash i, po nieużywaniu $build, usuwając deklarację i wszystkie jej zastosowania - ale rm. Bash z …
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 …
Jak można szybko przełączać się między wieloma katalogami w celu administrowania systemem? Mam na myśli, że mogę używać pushd .i popdprzełączać, ale co, jeśli chcę przechowywać wielokrotności i przełączać się między nimi, zamiast trwale wyrzucać je z dołu stosu?
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 …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.