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.
Za każdym razem, gdy zmienia się rozmiar zacisków, zwykle bashbędzie resizeautomatycznie tak, że LINESi COLUMNSsą przeliczane poprawnie. Ale z jakiegoś powodu nie działa to w kontenerze Docker działającym bashinteraktywnie. Mam shopt checkwinsize -sw swoim bashrcpojemniku Docker (i sprawdziłem, że onużywa shopt). To samo z bashsesją hosta . Naprawdę brakuje mi …
Mam następujący monit w bash, który pokazuje bieżącą gałąź git: PS1+="$(git_prompt)" #git_prompt is a function in my .bashrc co działa, gdy źródłem .bashrc, ale nie kiedy zmieniam gałąź, więc PS1 var jest oceniany tylko po źródle .bashrc, ale powinien być oceniany za każdym razem, gdy wyświetlany jest nowy monit. Jak …
Krótkie wyjaśnienie pytania: Czy istnieje wbudowana metoda bash zliczająca liczbę elementów w tablicy bash, w której nazwa tablicy jest dynamiczna (tj. Przechowywana w zmiennej), bez uciekania się do wykonania pełnej kopii tablicy lub użycia eval? Więcej informacji: Używając podstawiania parametrów bash, można wykonać następujące czynności: Określić długość tablicy: myArr=(A B …
Zastanawiałem się nad pojedynczymi nawiasami w bash. Wiem, że są one używane do wykonywania poleceń w podpowłokach i że są używane do tworzenia tablic, ale czy są one używane do czegokolwiek innego? Jedną z rzeczy, które zwróciły moją uwagę, jest to, że kiedy używasz przypisania zmiennej, np var=(hello) echo $var …
Bash nie wydaje się tworzyć zombie. Wygląda na to, że procesy zostają natychmiast wykorzystane, gdy zostaną zabite. Czy mogę sprawić, by bash robił zombie? Dlaczego pytam: Chciałbym móc bezpiecznie zabić proces potomny lub bezpiecznie kill -9, jeśli nie umrze w pewnym okresie czasu, ale nie chcę przypadkowo zablokować procesu, który …
Podczas, gdy Google dostosowuje mój monit powłoki za pomocą zmiennej PS1, widzę tabele znaków specjalnych, których można użyć. W szczególności: \! the history number of this command \# the command number of this command Wydaje się, że „numer historii” jest częściej używany i wiem, jak używać poleceń, takich jak !523ponawianie …
Próbuję zrozumieć, jak dokładnie Bash traktuje następujący wiersz: $(< "$FILE") Według strony podręcznika Bash jest to równoważne z: $(cat "$FILE") i mogę podążać za rozumowaniem tej drugiej linii. Bash wykonuje rozszerzanie zmiennej $FILE, wprowadza podstawienie polecenia, przekazuje wartość $FILEdo cat, cat przekazuje zawartość $FILEstandardowego wyjścia, podstawianie polecenia kończy się przez …
W jakim stopniu inne powłoki zgodne z POSIX mogą funkcjonować jako rozsądne zamienniki bash? Nie muszą to być prawdziwe „zastępcze” zamienniki, ale wystarczająco blisko, aby pracować z większością skryptów i obsługiwać resztę z pewnymi modyfikacjami. Chcę mieć wyraźne skrypty bash - skrypty startowe, skrypty klienta DHCP itp. - pracujące z …
Jeśli bashwykonam: cmd1 | cmd2 | ... | cmdi | ... | cmdn & gdzie cmd{1..n}mogą nie być wyraźne, w jaki sposób uzyskać PID cmdi? Alternatywnie, jak mogę zasygnalizować cmdiproces? (Na przykład, wysłać go SIGUSR1?) pkill/ pgrep, pidofItd. Nie wygląda dobrych odpowiedzi, od innych instancji cmdimoże działa, w tym w …
Piszę skrypt bash inotifywaitdo monitorowania katalogu i rozpoczynania akcji po wykryciu zmian. Coś jak: inotifywait -m ... | while read f; do something; done Ponieważ inotifywaitskrypt nie zakończy się sam, skrypt nie zostanie zatrzymany. Tak więc moim planem było uzyskanie PID procesu inotifywait, zapisanie go do pliku i inny proces …
Potrzebuję serii poleceń lub pojedynczego polecenia, które śpi aż do następnego wystąpienia określonego czasu, takiego jak „4:00”. Jak mam to zrobić? atPolecenie lub zadanie crona nie jest opcją, bo nie musi opuścić skrypt jestem obecnie. Konkretny przypadek, o którym mówię, to skrypt działający na ekranie. Bardzo ważne jest, aby nie …
W skrypcie bash przypisuję zmienną lokalną, aby wartość zależała od zewnętrznej, globalnej zmiennej środowiskowej ( $MYAPP_ENV). if [ "$MYAPP_ENV" == "PROD" ] then SERVER_LOGIN=foobar123@prod.example.com else SERVER_LOGIN=foobar987@test.example.com fi Czy istnieje krótszy (ale czysty) sposób na napisanie powyższego zadania? (Prawdopodobnie używa pewnego rodzaju operatora warunkowego / inline if.)
Mam polecenie, które akceptuje plik jako argument, modyfikuje plik, a następnie zapisuje go do nazwy pliku określonej w drugim argumencie. Zadzwonię do tego programu modifyfile. Chciałem, żeby działał „na miejscu”, więc napisałem skrypt powłoki (bash), który modyfikuje go do pliku tymczasowego, a następnie przenosi go z powrotem: TMP=`mktemp` modifyfile "$original" …
Zauważam, że niektóre przykładowe bash dla pętli są rozłożone w wielu liniach w przykładach for VARIABLE in file1 file2 file3 do command1 on $VARIABLE command2 commandN done (np. tutaj http://www.cyberciti.biz/faq/bash-for-loop/ ) Jak wprowadzić nowy wiersz w terminalu bash (używam szpachli)? Kiedy naciskam Enter na końcu linii, system wykonuje to.
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.