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.
for i in $(xrandr); do echo "$i" ; done for i in "$(xrandr)"; do echo "$i"; done for i in "$(xrandr)"; do echo $i; done Rozumiem, dlaczego 1 różni się od 2. Ale dlaczego 3 daje inny wynik niż 2? Proszę wyjaśnić również wynik. Jak cytaty działają na nowych liniach?
Czy mogę utworzyć linię poleceń bash, która uruchamia określone polecenie, tylko jeśli proces jeszcze nie działa (w tle)? Jak sprawdzić *, jeśli polecenie jest już uruchomione? (więc mogę dodać kolejne polecenie z &&pomiędzy nimi, aby następne było wykonywane tylko wtedy, gdy pierwsze jest prawdziwe). *: testuj, ustalaj, odkrywaj, dowiedz się
W skrypcie powłoki muszę poczekać, aż pojawi się okno z ciągiem znaków w tytule, wykonać jakąś akcję, a następnie poczekać, aż zniknie i wykonać inną akcję. Do wczoraj miałem ten prosty kod. Problem polega na tym, że nie można ustawić dysku w stan oszczędzania energii, gdy skrypt jest uruchomiony, i …
Często uruchamiam polecenia za pomocą podpowłoki, a czasem chciałbym rozszerzyć podpowłoki, zanim coś uruchomię. W ten sposób mogę zweryfikować to, co robię, i ewentualnie edytować to, co się wkrótce wydarzy. Na przykład, jak mogę uzyskać rozwinięcie następującego wiersza polecenia, zanim go uruchomię, aby móc edytować wyniki podpowłoki? na przykład $ …
Stworzyłem skrypt, który zabija procesy, jeśli użycie procesora i / lub pamięci osiągnie 80%. Gdy tak się dzieje, tworzona jest lista zabitych procesów. Co mogę zrobić, aby to poprawić? while [ 1 ]; do echo echo checking for run-away process ... CPU_USAGE=$(uptime | cut -d"," -f4 | cut -d":" -f2 …
Szukam poręcznego jedno-liniowego narzędzia do obliczania średniego rozmiaru pliku w katalogu. Chcę to: rozmiar wszystkich plików / liczba plików w katalogu
Pytanie Używam Bash. Kiedy szukam plików, często wykonuję następujące czynności: find -name stackexchange.hs I często wyniki będą wyglądać następująco: /youre/the/man/now/dog/stackexchange.hs /you/are/no/longer/the/dog/dog/stackexchange.hs /this/is/the/file/i/want/stackexchange.hs Następnie chcę wykonać jedną z następujących czynności: Opcja 1: Otwórz ostatni element na liście wyników w vimie . Opcja 2: Otwórz n-ty element na liście wyników w vimie …
Mam dwie tablice: arrayA=(1 2 3) arrayB=(a b c) i chcę wydrukować jeden z nich za pomocą argumentu wiersza poleceń, tzn. bez żadnego if else . Wypróbowałem kilka odmian składni bez powodzenia. Chcę zrobić coś takiego: ARG="$1" echo ${array${ARG}[@]} ale pojawia się błąd „złej zamiany”. Jak mogę to osiągnąć?
Mam skrypt, który scp jest plikiem ze zdalnego hosta z powrotem na lokalny. Czasami nazwy plików zawierają spacje. scp nie lubi spacji w nazwach plików. Z jakiegoś powodu moje próby obsługi spacji nie doprowadziły do prawidłowej ścieżki scp. Kod: PATH=/var/root/Documents/MyFile OG-v1.2.3.pkg scp $PATH Me@10.1.10.33:/Users/Me/Desktop Prowadzi do Cannot find directory: var/root/Documents/MyFile …
[Edycja: Wygląda podobnie do niektórych innych pytań dotyczących sposobu zabicia wszystkich spawnowanych procesów - wszystkie odpowiedzi wydają się używać pkill. Więc rdzeniem mojego pytania może być: Czy istnieje sposób na propagowanie Ctrl-C / Z we wszystkich procesach spawnowanych przez skrypt?] Podczas wywoływania SoX recza pomocą timeoutpolecenia z coreutils (omówione tutaj …
Chcę utworzyć skrypt zakończenia bash, który rozpoznaje argumenty formularza --argi --some-arg=file. Po przeczytaniu tego samouczka i kilku przykładów /usr/share/bash_completion/completions/napisałem następujący skrypt (aby zaoszczędzić czas na wpisywaniu niektórych flag za pomocą Chromium): _chromium() { local cur prev opts COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" # Some interesting options opts=" --disable-web-security --easy-off-store-extension-install --incognito --load-extension= --pack-extension= …
Jak ustawić readhistorię obsługi wbudowanych poleceń, naciskając klawisz strzałki w górę / w dół, aby je przełączać? Próbowałem łapać, kiedy naciskasz klawisz w górę, jednak wydaje się, że nie działa z read: read -p '> ' -n 3 foo echo echo -n "$foo" | hexdump Wydaje się, że naciśnięcie klawiszy …
Ilekroć muszę wykonać skrypt powłoki z sieci curl -s [url] | sh, najpierw otwieram się urlw przeglądarce, aby upewnić się, że skrypt nie jest złośliwy i można go bezpiecznie uruchomić. Pamiętam, jak zobaczyłem sztuczkę z wiersza poleceń, która umożliwiła odczytanie skryptu z wiersza poleceń, a następnie potwierdzenie wykonania po przeczytaniu …
Staram się stworzyć pakiet produkcyjny dla siebie. Moim pierwszym celem jest zablokowanie Facebooka, Gmaila i Stackexchange od 0900 do 1600. Na razie edytowałem mój /etc/hostsi dodałem 0.0.0.0 www.facebook.com i podobne dla Gmaila i Stackexchange. Ale jestem trochę zdezorientowany, jak uwzględnić czas trwania blokady w moim skrypcie. Pomyślałem, że mam 2 …
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.