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.
Ostatnio przeglądałem klawisze skrótów bash i próbowałem znaleźć odpowiedni dla mojego klucza aktywacyjnego tmux. Uważam to za interesujące ctrl + mi ctrl + qnie są używane w skrótach bash, zgodnie z https://en.wikipedia.org/wiki/Bash_(Unix_shell) . Dlaczego nie są używane? Czuję ctrl + msię całkiem przydatny. Czy te dwie kombinacje są z założenia …
Wiem, że to pytanie nie jest niejasne, ponieważ zadaje się je tutaj, aktualizuj (i duplikuj tutaj). To, co próbuję osiągnąć, jest nieco inne. Nie podoba mi się pomysł, aby mój monit ponownie zapisywał plik przy każdym lswpisaniu ( history -a; history -c; history -r). Chciałbym zaktualizować plik przy wyjściu. To …
Mam więc mały skrypt do uruchamiania niektórych testów. javac *.java && java -ea Test rm -f *.class Problem polega na tym, że po uruchomieniu skryptu ./testzwróci kod zakończenia powodzenia, nawet jeśli test się nie powiedzie, ponieważ się rm -f *.classpowiedzie. Jedyny sposób, w jaki mogłem pomyśleć o zrobieniu tego, co …
Ten przewodnik Bash mówi: Jeśli numerem indeksu jest @ lub *, odwołuje się do wszystkich elementów tablicy. Kiedy to zrobię: LIST=(1 2 3) for i in "${LIST[@]}"; do echo "example.$i " done Daje: example.1 example.2 example.3(pożądany wynik). Ale kiedy używam ${LIST[*]}, dostaję example.1 2 3zamiast tego. Dlaczego? Edycja: podczas korzystania …
Chciałem utworzyć plik o nazwie test. Przypadkowo biegnę mkdir testzamiast touch test. Czy można przekonwertować testkatalog w pliku o nazwie test? Co powiesz na konwersję pliku o nazwie testdo katalogu o tej samej nazwie?
Otworzyłem terminal na Ubuntu za pomocą Ctrl+ Alt+ Ti innego terminalu, przechodząc do katalogu, a następnie klikając prawym przyciskiem myszy i wybierając „Otwórz w terminalu”. Zrobiłem echo $0w obu przypadkach. W pierwszym przypadku: $ echo $0 -bash W drugim przypadku: $ echo $0 /bin/bash Skąd ta różnica?
Według strony podręcznika bash: GLOBIGNORE A colon-separated list of patterns defining the set of filenames to be ignored by pathname expansion. If a filename matched by a pathname expansion pattern also matches one of the patterns in GLOBIGNORE, it is removed from the list of matches. Jednak w praktyce ... …
Dla pewności chciałbym bash przerwać wykonywanie skryptu, jeśli napotka błąd składniowy. Ku mojemu zaskoczeniu nie mogę tego osiągnąć. ( set -eto za mało.) Przykład: #!/bin/bash # Do exit on any error: set -e readonly a=(1 2) # A syntax error is here: if (( "${a[#]}" == 2 )); then echo …
W bashwierszu polecenia ↑daje mi poprzednie polecenie. W wierszach poleceń w numpylub matlab, gdy wpisuję kilka znaków, ↑podaje mi poprzednio wprowadzone polecenie, zaczynając od tych znaków . Jak mogę włączyć dokładnie takie zachowanie bash? Zdaję sobie sprawę z bardziej zaawansowanych sposobów przeszukiwania historii wiersza poleceń, ale czasami prosty sposób jest …
Chciałbym zachować znaczniki czasu dla poleceń zalogowanych w moim Bash $ HISTFILE, czy to możliwe? Nie udało mi się skonfigurować go man bashjako źródła informacji. Moje inne opcje są następujące: function thebanana() { local -r -a bash_commands=( "ls" # ... more coconut commands ) for bash_command in "${bash_commands[@]}"; do printf …
Użycie toppolecenia z przekierowaniem działa dobrze: top > top.log Teraz chcę użyć grep do filtrowania określonej linii: top | grep "my_program" > top.log Ale plik dziennika pozostanie pusty. Ale grep dostarcza dane wyjściowe podczas używania top | grep "my_program" Gdzie my_programmusi zostać zastąpiony działającym programem, aby zobaczyć dane wyjściowe. Dlaczego …
Przez jakiś czas majstrowałem przy tym, żeby to zadziałało, więc podejrzewam jakieś podstawowe nieporozumienie na temat działania rur, które jest główną przyczyną moich problemów. Moim celem jest zainicjowanie połączenia TCP z jakimś zdalnym hostem za pośrednictwem netcati posiadanie dwóch nazwanych potoków w systemie plików: jeden, z którego procesy mogą czytać, …
Chciałbym zasadniczo spakować / gz katalog na zdalnym komputerze i zapisać plik na moim komputerze lokalnym bez konieczności ponownego łączenia się z komputerem lokalnym z komputera zdalnego. Czy można to zrobić za pośrednictwem SSH? Plik tar nie musi być przechowywany na komputerze zdalnym, tylko na komputerze lokalnym. czy to możliwe?
Mam funkcję bash, która przyjmuje plik jako parametr, sprawdza, czy plik istnieje, a następnie zapisuje w pliku wszystko, co wychodzi ze standardowego wejścia. Naiwne rozwiązanie działa dobrze dla tekstu, ale mam problemy z dowolnymi danymi binarnymi. echo -n '' >| "$file" #Truncate the file while read lines do # Is …
Chcę odczytać znak, a następnie ustaloną długość ciągu (ciąg nie jest zakończony zerem w pliku, a jego długość jest podana przez poprzedni znak). Jak mogę to zrobić w skrypcie bash? Jak zdefiniować zmienną typu string, aby móc na niej wykonać przetwarzanie końcowe?
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.