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łóżmy, że domyślną powłoką dla mojego konta jest zsh, ale otworzyłem terminal i odpaliłem bash i wykonałem skrypt o nazwie prac002.sh, który interpreter powłoki będzie użyty do wykonania skryptu, zsh czy bash? Rozważ następujący przykład: papagolf@Sierra ~/My Files/My Programs/Learning/Shell % sudo cat /etc/passwd | grep papagolf [sudo] password for papagolf: …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 3 lata temu . Po kilku bardzo szybkich badaniach wydaje się, że Bash jest kompletnym językiem Turinga …
I odczytać , że jest źle pisać takie rzeczy for line in $(command), prawidłowa droga wydaje się być w zamian: command | while IFS= read -r line; do echo $line; done To działa świetnie. Ale co, jeśli to, co chcę iterować, to zawartość zmiennej , a nie bezpośredni wynik polecenia? …
Chcę znaleźć pliki nowsze niż 15 sekund, ale starsze niż 2 sekundy. Oto skrypt, którego obecnie używam, który pobiera pliki nowsze niż 15 sekund: find /my/directory -name '*.jpg' -not -newermt '-15 seconds' Każda pomoc jest mile widziana
Próbuję użyć zmiennej składającej się z różnych ciągów znaków oddzielonych |za pomocą casetestu instrukcji. Na przykład: string="\"foo\"|\"bar\"" read choice case $choice in $string) echo "You chose $choice";; *) echo "Bad choice!";; esac Chcę być w stanie wpisać foolub barwykonać pierwszą część caseinstrukcji. Jednak oba fooi barzabierzcie mnie do drugiego: $ …
Chcę, aby mój skrypt powłoki odwiedził wszystkie podkatalogi w katalogu głównym. Zrób coś w katalogach, wyślij dane wyjściowe do pliku buforowania i przejdź do następnego katalogu. Rozważ główny katalog = / tmp podkatalog = ABCD (cztery podkatalogi)
chciałbym $ echo a{b,c,d} aby wyświetlić listę oddzieloną przecinkami, np ab,ac,ad zamiast zwykłego wyjścia ab ac ad Jak najłatwiej to zrobić w wierszu poleceń?
Mam funkcję bash, aby ustawić w $PATHten sposób - assign-path() { str=$1 # if the $PATH is empty, assign it directly. if [ -z $PATH ]; then PATH=$str; # if the $PATH does not contain the substring, append it with ':'. elif [[ $PATH != *$str* ]]; then PATH=$PATH:$str; fi …
Jak pobrać aktualną nazwę terminala? Mam na myśli nazwę pswyświetlaną w kolumnie TTY, np .: root@dor-desktop:/home/dor/Documents/LAMP_setup/webs_install/do/install# ps aux | egrep 'mysql|(^USER)' USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND dor 2238 0.2 1.9 448052 79796 ? S 17:27 0:17 gedit /home/dor/Documents/LAMP_setup/webs_install/do/install/mysql.install /home/dor/Documents/LAMP_setup/webs_install/do/install/mysql.setup root 4975 0.1 0.5 324984 …
Rozumiem, że format powiązań klawiszy w inputrcpliku to: keyname: function-name or macro W przypadku keyname widziałem takie rzeczy jak: "\e[B" "\e[1~" "\e[5D" "\M-l" "\C-[OD" "\e\e[D" Jakie jest znaczenie tych nazw kluczy i jaki jest ogólny format nazwy klucza? Udostępnij link do dokumentów.
Powiedzmy, że mam katalog dirz trzech podkatalogów dir1.. dir3. A w środku mam wiele plików i innych podkatalogów. Chciałbym wyszukać plik wewnątrz, powiedzmy z *.czakończeniem, ale chciałbym tylko wyszukiwać w podkatalogu „dir / dir2” i wszystkich jego podkatalogach. Jak mogę to sformułować? Zakładając, że jestem w dir/środku, mam: find . …
Czy istnieje sposób na wydrukowanie całej tablicy ([klucz] = wartość) bez zapętlania wszystkich elementów? Załóżmy, że utworzyłem tablicę z niektórymi elementami: declare -A array array=([a1]=1 [a2]=2 ... [b1]=bbb ... [f500]=abcdef) Mogę wydrukować całą tablicę za pomocą for i in "${!array[@]}" do echo "${i}=${array[$i]}" done Wydaje się jednak, że bash już …
Z podręcznika bash Zasady dotyczące definiowania i używania aliasów są nieco mylące. Bash zawsze czyta co najmniej jeden pełny wiersz danych wejściowych przed wykonaniem dowolnego polecenia w tym wierszu. Aliasy są rozszerzane po odczytaniu polecenia, a nie podczas jego wykonywania. Dlatego definicja aliasu pojawiająca się w tym samym wierszu, co …
Niedawno się tego nauczyłem . ./.a.ai ./.a.ajest taki sam. Jednak próba source source .a.apowoduje błąd. IMO, .będąc pseudonimem Bash, sourcenie powinno zachowywać się inaczej, więc czego mi brakuje? Bonus, dlaczego jest . .OK, podczas gdy source sourcenie jest?
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.