Pytania specyficzne dla GNU Bourne Again SHell, w przeciwieństwie do innych powłok Bourne / POSIX. W przypadku pytań dotyczących powłok uniksowych użyj zamiast tego znacznika / shell.
Mam zmienną, która zawiera wieloliniowe wyjście polecenia. Jaki jest najskuteczniejszy sposób odczytywania danych wyjściowych linia po linii ze zmiennej? Na przykład: jobs="$(jobs)" if [ "$jobs" ]; then # read lines from $jobs fi
Muszę okresowo uruchamiać polecenie, które zapewnia, że niektóre pliki tekstowe są przechowywane w trybie Linux. Niestety dos2unixzawsze modyfikuje plik, co zepsułoby znaczniki czasu pliku i folderu i spowodowało niepotrzebne zapisy. Skrypt, który piszę jest w języku Bash, więc wolałbym odpowiedzi oparte na Bash.
Mam następującą konfigurację w .bashrc do kolorowania list. eksport CLICOLOR = 1 eksport LS_COLORS = 'no = 00: fi = 00: di = 00; 34: ln = 01; 36: pi = 40; 33: so = 01; 35: do = 01; 35: bd = 40; 33; 01: cd = 40; 33; …
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 …
Zauważyłem, że bash ma skrót do ctrl+, Tktóry zamienia ostatnie dwa znaki przed kursorem. Zastanawiam się, dlaczego inżynierowie postanowili to uwzględnić. Czy został odziedziczony z poprzedniej konwencji? Czy jest jakiś praktyczny cel, do którego jest to powszechnie używane?
Robię porównanie liczb całkowitych w bash (próbuję sprawdzić, czy użytkownik działa jako root) i znalazłem dwa różne sposoby: Podwójna równość: if [ $UID == 0 ] then fi -eq if [ $UID -eq 0 ] then fi Rozumiem, że nie ma> = lub <= w bash, tylko -ge i -le, …
Chcę set -xna początku skryptu i „cofnąć” go (wrócić do stanu, zanim go ustawię), zamiast ślepego ustawiania +x. czy to możliwe? PS: Już tu sprawdziłem ; to nie wydawało się odpowiadać na moje pytanie, o ile mogłem powiedzieć.
Próbuję grepprzesyłać dane wyjściowe do potoku rm, ale generuje to bezużyteczne rzeczy. Czy wymagany jest jakikolwiek przełącznik rm? Czy może rmbyć bezpośrednio wyrażeniem regularnym? ls | grep '^\[Daruchini'| rm rm: brakujący operand Aby uzyskać więcej informacji, wypróbuj `rm --help '.
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 …
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?
Uważam, że często wykonuję następujące czynności: %> cd bla/bla %> ls Chciałbym, aby za każdym razem, gdy wchodzę cddo katalogu, robi to automatycznie ls. .bashrcPrzez chwilę bawiłem się ze mną , ale nie mogłem wymyślić, jak to zrobić.
Zauważyłem to przy różnych aplikacjach. Często myślałem, że dzieje się tak, ponieważ wynik został wcześniej anulowany (na przykład ctrl + c) lub coś podobnego, a zsh wypełnia nowy znak wiersza. Ale teraz ciekawość zwyciężyła we mnie, ponieważ wydaje się, że nie robi tego w bash. zsh grzmotnąć SequenceProgram jest coś …
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.