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.
W Bashpowłoce mogę uzyskać status wyjścia polecenia poprzez $?zmienną: # ps -ef | grep "haha" root 15439 15345 0 23:02 pts/0 00:00:00 grep --color=auto haha # echo $? 0 Czy jest dostępny tylko w powłoce Bash? Czy mogę też używać go w innych powłokach?
Obecnie używam tego, aby wyświetlić aktualny czas w wierszu polecenia bash: PS1=\[\e[0;32m\]\t \W>\[\e[1;37m\] 20:42:23 ~> Czy można wyświetlić czas, który upłynął od poprzedniego monitu? Jak na przykład: 00:00:00 ~> sleep 10 00:00:10 ~> sleep 20 00:00:20 ~> To nie ma nic wspólnego z Czy można okresowo zmieniać PS1 za pomocą …
Dlaczego po użyciu bash i zawieszeniu pętli while pętla zatrzymuje się po wznowieniu? Krótki przykład poniżej. $ while true; do echo .; sleep 1; done . . ^Z [1]+ Stopped sleep 1 $ fg sleep 1 $ Znam sygnały i domyślam się, że może to być naturalne zachowanie basha, ale …
Chcę wykonać polecenie co 10 sekund i wykonać je w tle (eliminując w ten sposób watch?). Wszystkie odpowiedzi pokazują coś podobnego do poniższego, ale będzie to działać zawsze od 11 do 14 sekund. Jak można tego dokonać? while true; do # perform command that takes between 1 and 4 seconds …
Próbowałem stworzyć bardzo prosty skrypt bash, aby wyświetlić wszystkie wielokrotności pięciu między 375 a 3500 (375, 380, 385 ...). Jedną z rzeczy, które próbowałem i nie działałem, są: for i in {375..3500} do echo $i (($i += 5)) done Po pewnym czasie poddałem się i napisałem to w języku BASIC …
Poniższy przykład wyjaśnia problem. Dlaczego jest FILENAMEdrukowany poprawnie, gdy odbija się echem i jest postrzegany jako wzór przy stosowaniu zastępczym? #!/bin/bash FILEPATH_WITH_GLOB="/home/user/file_*" FILENAME=$(basename "$FILEPATH_WITH_GLOB") echo $FILENAME #file_1234 echo ${FILENAME:1:5} #ile_* <---why is this not ile_1
W skrypcie bash, nad którym pracuję (który musi działać na Ubuntu i OS X), muszę przekierować wyjście setek poleceń do pliku. Zamiast dołączać &>...do nich wszystkich, po prostu robię exec 9>&1 exec 5<>/tmp/some-file.txt exec 1>&5 Jak dotąd tak dobrze, ale w połowie tych wszystkich poleceń muszę przeczytać wszystko, co zostało …
Często używam ctrl+cdo kopiowania tekstu z niektórych aplikacji GUI, a następnie wklejania go do emulatora terminala (terminatora), używając menu prawym przyciskiem myszy i wklej. Czasami zapominam, że schowek zawiera kilka linii, które po wklejeniu do bash powodują, że każda linia jest „wykonywana” Czy istnieje jakieś rozwiązanie, które całkowicie zapobiega wklejaniu …
Powiedzmy, że mam na przykład polecenie git branch(zawsze z kilkoma słowami). Chcę śledzić, kiedy to polecenie jest wykonywane z argumentami. Na przykład, jeśli wykonam polecenie git branch developbez błędów, chcę zapisać developplik. Próbowałem zastąpić polecenie git na moim .bash_profile, coś takiego: git () { if [ $# -eq 3 ] …
Próbuję wygenerować listę użytkowników, którzy mają zestaw katalogów domowych, który nie istnieje. Wydaje się, że powinienem być w stanie to zrobić za pomocą awk, ale coś jest nie tak z moją składnią. Ciągle mówi mi „nieprawidłowa składnia” w]. Co ja robię źle? awk -F: '{ if(![ -d "$6"]){ print $1 …
Chciałbym użyć podstawienia zmiennej na określonym ciągu, do którego uzyskuję dostęp za pomocą polecenia. Na przykład, jeśli skopiuję coś do schowka, mogę uzyskać do tego dostęp w ten sposób. $ xclip -o -selection clipboard Here's a string I just copied. Jeśli przypiszę ją do zmiennej, będę mógł na niej podstawiać …
Muszę uruchomić skrypt przez potokiem to przez bashz wget(raczej niż uruchomienie go bezpośrednio z bash). $ wget -O - http://example.com/my-script.sh | bash To nie działa, ponieważ mój skrypt zawiera readinstrukcje. Z jakiegoś powodu nie działają one podczas wysyłania potoku do bash: # Piping to bash works in general $ echo …
Rozważ prosty skrypt hello: #!/bin/bash echo 'hello world!' Teraz z bash, jeśli spróbuję uruchomić to w tle: $ hello & [1] 12345 $ hello world! █ <--- prompt is stuck here until I hit enter! [1]+ Done $ █ <--- prompt back to normal Co wolałbym zobaczyć: $ hello & …
Próbuję dodać 1 numer z wiersza poleceń i jeden numer jak domyślny. Na przykład: Gdy użytkownik wpisze liczbę 50, skrypt doda 10 (jako liczbę domyślną). ./script 50 The sum of 50+ 10 is 60. To właśnie mam. echo -n "Please enter a number: " read number default = 10 sum …
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.