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.
Zadeklarowałem funkcje i zmienne w bash / ksh i muszę je przekazać do sudo su - {user} << EOF: #!/bin/bash log_f() { echo "LOG line: $@" } extVAR="yourName" sudo su - <user> << EOF intVAR=$(date) log_f ${intVAR} ${extVAR} EOF
Mam skrypt instalacyjny dla pudełka Vagrant, w którym mierzyłem pojedyncze kroki time. Teraz chciałbym warunkowo włączyć lub wyłączyć pomiary czasu. Na przykład wcześniej linia wyglądałaby tak: time (apt-get update > /tmp/last.log 2>&1) Teraz pomyślałem, że mogę po prostu zrobić coś takiego: MEASURE_TIME=true [[ $MEASURE_TIME = true ]] && TIME="time --format=%e" …
Próbuję skonfigurować coś na uruchamianym przeze mnie serwerze, kiedy tylko cdw public_html95% przypadków znajduję się w folderze, jest kilka poleceń, które zawsze uruchamiam, aby sprawdzić pewne rzeczy. Czy w każdym razie mogę się podłączyć, cdwięc jeśli katalog to public_html, to automatycznie uruchomi dla mnie polecenia? Jeśli nie mogę się przyłączyć …
Przeczytałem kilka innych pytań dotyczących manipulacji ciągami bashowymi, ale wydaje się, że są to wyspecjalizowane aplikacje. Zasadniczo, czy jest sposób, aby zrobić poniższe prostsze? zamiast $ string='hello world'; string2="${string// /_}"; echo "${string2^^}" HELLO_WORLD coś jak $ echo 'hello world' | $"{-// /_}" | "${ -^^}" HELLO_WORLD Edytuj Jestem zainteresowany utrzymywaniem …
Odpowiadając na to pytanie odkryłem bardzo zabawne (i subtelne) różnicę między zachowaniem się bashi zsh: W bash: romano@RRyS:~$ pwd /home/romano romano@RRyS:~$ alias x="cd /bin && ./echo A >/dev/null &" romano@RRyS:~$ x [1] 16611 romano@RRyS:~$ pwd /home/romano Jak widać, wykonanie aliasu xodbywa się w podpowłoce, więc bieżący katalog się nie zmienia. …
Bawiłem się skryptem perla, który pobiera dane wejściowe od użytkownika w następujący sposób: system( qw( stty -echo ) ); $? == 0 or die "Error unable to disable character printing.\n"; print "$prompt: "; my $input = <STDIN>; Myślałem, że będę w stanie wysłać potok w odpowiedzi za pomocą echa, jednak …
Shellshock błąd w bash działa na zasadzie zmiennych środowiskowych. Szczerze mówiąc, byłem zaskoczony faktem, że istnieje taka funkcja, jak: „przekazywanie definicji funkcji przez zmienne env” Dlatego pytanie, choć może nie do końca sformułowane, ma na celu podanie przykładu lub przypadku, w którym konieczne byłoby posiadanie tej funkcji? Premia. Czy inne …
Jak rozumiem, ogólnie uważa się za bezpieczne, aby każdy mógł dostarczyć informacje, które będą przechowywane w zmiennej środowiskowej. Luka w shellshock jest tutaj problemem, ponieważ oznacza, że kod na końcu definicji funkcji w zmiennej środowiskowej zostanie wykonany, gdy uruchomi się nowa instancja bash, i oczywiście nie chcesz, aby ktokolwiek uruchamiał …
Powiedz, że zaczynasz pracę w ten sposób foo a potem pragnij, aby umieścić go w tle. Wpisanie Ctrl+, Za następnie bgwykonuje lewę, ale zawiesi się foomiędzy Ctrl+ Za bg. Jak mogę umieścić Foo w tle bez uprzedniego zamrożenia?
Naciskając w górę, mogę przejść przez poprzednio wprowadzone polecenia. Zauważyłem jednak, że modyfikowanie jednego z nich zmienia historię. Na przykład, jeśli napiszę: echo a echo b echo c [up][up][backspace]d[ctrl+c] historia pokazuje teraz, że drugie polecenie echo dnie było echo b. Jak zachować pierwszą echo bw historii? Powiedzmy na przykład, że …
Ostatnio eksperymentowałem z pspoleceniem i czasami długie ścieżki zawijają się do następnej linii (lub dwóch) i utrudniają czytanie. Chcę przesłać dane pswyjściowe do innego programu, aby ograniczyć wynik do xliczby znaków. Oto, co do tej pory mam, ale to nie działa całkiem dobrze: ps aux | cut -c1-$(stty size | …
Istnieją ograniczenia dotyczące arytmetycznych możliwości oceny bashpowłoki. Podręcznik zwięźle opisuje ten aspekt arytmetyki powłoki, ale stwierdza : Oceny dokonuje się w liczbach całkowitych o stałej szerokości bez sprawdzania przepełnienia, chociaż dzielenie przez 0 jest zatrzymywane i oznaczane jako błąd. Operatory i ich pierwszeństwo, asocjatywność i wartości są takie same jak …
Jak interaktywnie łączyć (łączyć) wiele plików wideo MP4 w jeden plik? Istnieje wiele programów, które robią to dla dwóch plików z wiersza poleceń. Na przykład: ffmpeg avconv MP4Box Ale często potrzebujemy rozwiązania, aby zrobić to interaktywnie.
Mam narzędzie, które ma nieprzyjemny nawyk wyciszania się i pozostawania w nim, już wiem, jak długo to trwa, więc używam go timeoutdo walki, ale czasami robi to wcześniej. Czy istnieje narzędzie podobne do timeouttego, które zabije proces, jeśli przestanie kierować wyjście na standardowe wyjście?
Piszę prosty skrypt, aby przeglądać moją historię bashów w celu znalezienia określonego ciągu. W wierszu polecenia mogę wykonać następujące czynności, które działają dobrze: history | grep git Jednak gdy tworzę skrypt bashowy za pomocą tego samego polecenia co powyżej, nagle historynic nie zwraca: #!/bin/bash history | grep git Kiedy usuwam …
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.