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.
Muszę przeszukać wiele plików dziennika (wszystkie pliki wygenerowane w ciągu ostatnich 24 godzin, wszystkie przechowywane w tym samym katalogu), aby znaleźć ostatnie wystąpienie ciągu. Oto polecenie, które napisałem: find . -mtime 1 | grep fileprefix | xargs grep 'search string' | tail -1 Ale to zwraca tylko ostatnią linię dla …
Powiedzmy, że rozpoczynam bashpowłokę, ... a następnie kolejną bashsesję z tej powłoki, ... i kolejną bashsesję z tej sesji, ... a następnie kolejną bashsesję z tej sesji, ... (razy N) itp. Aby wyjść ze wszystkich N sesji, muszę wpisać exitN razy. Jak mogę dowiedzieć się, jak głęboko jestem zagnieżdżony w …
Próbuję zapisać wiele wierszy w zmiennej bash, ale wydaje się, że to nie działa. Na przykład, jeśli wymienię /binjeden plik w wierszu i zapiszę go $LS, $LSprzekażę jako standardowe wejście wc, zawsze zwraca 1: $ ls -1 /bin | wc -l 134 $ LS=$(ls -1 /bin); wc -l <<< $LS …
Mam ciąg będący wynikiem operacji, nad którą nie mam kontroli. Kiedy drukuję tę zmienną za pomocą echo, otrzymuję: echo $myvar hello Jednak kiedy to zrobię if [ $myvar = "hello" ]; then echo they are equal else echo they are not equal fi Zawsze rozumiem, że nie są równi. Podejrzewam, …
Mam problem z pętlą for w bash. Na przykład: Mam tablicę ("etc" "bin" "var"). I iteruję na tej tablicy. Ale w pętli chciałbym dodać trochę wartości do tablicy. Na przykład array=("etc" "bin" "var") for i in "${array[@]}" do echo $i done Wyświetla się etc bin var(oczywiście w osobnych wierszach). A …
Domyślnie bash ładuje linie od ~/.bash_historydo historii. Czy można dodać niestandardowy plik do załadowania? Chcę wstrzyknąć plik zawierający często używane polecenia i uzyskać do nich dostęp za pomocą wbudowanego wyszukiwania.
Mam dużą liczbę zdjęć ze starego dysku twardego, który próbuję uporządkować. Jeśli uruchomię ls -l, zauważę , że wszystkie te pliki mają datę utworzenia 2012 lub wcześniejszą. Idealnie chciałbym przenieść je na drugi dysk twardy mojego komputera, który nie jest ustawiony do automatycznego montowania. Najlepiej, gdybym mógł to wszystko zrobić …
Kiedy robię, ls | grep pngwyjście grep jest: 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png (nazwa pliku, nowa linia, nazwa pliku, nowa linia) następnie echo $(ls | grep png)wyjścia: 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png (nazwa pliku, spacja z dzielenia słów, nazwa pliku, nowa linia !! z echa !!) Wszystko jest w porządku, ale kiedy to zrobię, aby zapobiec …
[username@notebook ~]$ cat foo.sh #!/bin/bash echo "$0" [username@notebook ~]$ ./foo.sh ./foo.sh [username@notebook ~]$ Pytanie : Jak mogę wygenerować plik „foo.sh”? Bez względu na to, jak zostało wykonane.
Podczas eksperymentów z przekierowaniem wyjścia i podstawieniem procesu natknąłem się na następującą komendę i jej wynik: me @ elem: ~ $ echo foo>> (cat); pasek echa bar me @ elem: ~ $ foo (Tak, ta pusta nowa linia na końcu jest celowa). Więc uderz w pasek echa, wypisuje mój zwykły …
Nie widziałem żadnych trafień na ten temat w Google, więc pytam: Właśnie próbowałem uruchomić to polecenie w sesji ssh, lokalne to Debian Wheezy KDE, zdalne to Fedora 21 Gnome: ps aux | grep xscreensaver i to jest wynik: bash: grep: command not found... Nigdy wcześniej tego nie widziałem, jaka jest …
Powiedzmy, że chcę zmodyfikować oryginalne zachowanie lsnarzędzia w ten sposób: $ ls Hello World file1 file2 ... W jaki sposób mogę to zrobić? Podczas uruchamiania lschciałbym uruchomić inne polecenie, powiedzmy echo "Hello World!". Szybkim rozwiązaniem, które widzę, jest użycie aliasu: alias orig_ls="ls" alias ls='echo "Hello World!"' Jednak nie jest to …
W swoim skrypcie dzielę zestaw danych na input_aa, input_ab itp. Następnie uruchamiam każdy z nich za pomocą tego samego skryptu Python: # Execute program on each split file for part in input_*; do python3 $part & done wait Moje pytanie jest dwojakie: w jaki sposób mogę wykryć, że proces Pythona …
Dlaczego to zawsze wykrywa jako prawdziwe, nawet jeśli kod klucza nie jest klawiszem ze strzałką w prawo? stty_state=`stty -g` stty raw; stty -echo keycode=`dd bs=1 count=1 2>/dev/null` stty "$stty_state" echo $keycode if [ "$keycode"=39 ]; then echo "Right Arrow Key Pressed!" fi
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.