Pytania otagowane jako bash

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.

7
Błąd skryptu powłoki: Błąd składni: „(” nieoczekiwany
Pracowałem nad skryptem, który automatyzuje konfigurowanie środowiska programistycznego do programowania Raspberry Pi (szczegóły krok po kroku, które działają tutaj ). Skrypt znajduje się w tym artykule, ale dla wygody można go również znaleźć tutaj . Teraz po uruchomieniu tego skryptu zainstaluj i skonfiguruj środowisko bez błędów, ale musisz wpisać hasło …

3
„Pułapka… INT TERM EXIT” naprawdę konieczne?
Wiele przykładów trapużycia trap ... INT TERM EXITdo zadań czyszczenia. Ale czy naprawdę trzeba wymienić wszystkie trzy sigspecy? Instrukcja mówi: Jeśli SIGNAL_SPEC to EXIT (0), ARG jest wykonywane przy wyjściu z powłoki. które moim zdaniem ma zastosowanie niezależnie od tego, czy skrypt zakończył się normalnie, czy zakończył się, ponieważ otrzymał …
63 bash  shell  signals  trap 

6
Zabij wszystkie zadania w tle
Czy istnieje bardziej zwarta forma zabijania zadań w tle niż: for i in {1..5}; do kill %$i; done Ponadto {1..5} ma oczywiście zakodowaną na stałe magiczną liczbę, jak mogę ustawić ją jako „N”, przy czym N jest właściwą liczbą, bez robienia: $(jobs | wc -l) Używam \ j na PS1, …
63 bash 


5
Nie można wciąć heredoc, aby dopasować wcięcie zagnieżdżenia
Jeśli istnieją skrypty „Pierwszego świata”, to właśnie one. Mam następujący kod w skrypcie, który aktualizuję: if [ $diffLines -eq 1 ]; then dateLastChanged=$(stat --format '%y' /.bbdata | awk '{print $1" "$2}' | sed 's/\.[0-9]*//g') mailx -r "Systems and Operations <sysadmin@[redacted].edu>" -s "Warning Stale BB Data" jadavis6@[redacted].edu <<EOI Last Change: $dateLastChanged …


6
Jakie funkcje są w Zsh i brakuje w bash, lub odwrotnie?
Jako użytkownik Linuksa zawsze używałem bash, ponieważ był domyślny dla każdej używanej dystrybucji. Ludzie używający innych systemów uniksowych, takich jak BSD, wydają się używać znacznie innych powłok. Aby trochę się nauczyć, postanowiłem wypróbować Zsh. Jako użytkownik bash: Jakie funkcje będę tęsknić? A na które należy uważać?
62 bash  zsh 

3
Dlaczego bashrc sprawdza, czy bieżąca powłoka jest interaktywna?
W moim Arch zainstaluj /etc/bash.bashrci /etc/skel/.bashrczawierają te linie: # If not running interactively, don't do anything [[ $- != *i* ]] && return W Debianie /etc/bash.bashrcma: # If not running interactively, don't do anything [ -z "$PS1" ] && return I /etc/skel/.bashrc: # If not running interactively, don't do anything …
62 bash  bashrc 

5
Autouzupełnianie nazw serwerów dla SSH i SCP
Mam skonfigurowanych kilka serwerów ~/.ssh/config, takich jak alphai beta. Jak mogę skonfigurować Bash, aby polecenia ssh al<tab>i scp file.tgz al<tab>autouzupełnianie nazw skonfigurowanych serwerów? Nie chcę dodawać serwerów do innego pliku (tj. Tablicy Bash) przy każdym dodawaniu, ponieważ regularnie dodajemy i usuwamy serwery, a lista jest dość duża.
61 bash  ssh  autocomplete  scp 

11
Czy istnieje sposób, aby cicho „mv” zawiodło?
Polecenie typu mv foo* ~/bar/produkuje ten komunikat w stderr, jeśli nie ma pasujących plików foo*. mv: cannot stat `foo*': No such file or directory Jednak w skrypcie, nad którym pracuję, ta sprawa byłaby całkowicie w porządku i chciałbym pominąć tę wiadomość w naszych dziennikach. Czy jest jakiś fajny sposób, aby …
61 bash  mv 

9
Jak zmierzyć czas wykonania programu i zapisać go w zmiennej
Aby dowiedzieć się, jak długo trwają niektóre operacje w skrypcie Bash (v4 +), chciałbym przeanalizować dane wyjściowe timepolecenia „osobno” i (ostatecznie) przechwycić je w zmiennej Bash ( let VARNAME=...). Teraz używam time -f '%e' ...(a raczej command time -f '%e' ...ze względu na wbudowane Bash), ale ponieważ już przekierowałem dane …

2
Dlaczego bash myśli: 016 + 1 = 15?
Czy ktoś może mi wyjaśnić, dlaczego liczba z wiodącym 0 daje to zabawne zachowanie? #!/bin/bash NUM=016 SUM=$((NUM + 1)) echo "$NUM + 1 = $SUM" Wydrukuje: 016 + 1 = 15
60 bash 

7
Jak mogę usunąć duplikaty z mojej historii .bash, zachowując porządek?
Bardzo lubię korzystać control+rz rekurencyjnego przeszukiwania historii poleceń. Znalazłem kilka dobrych opcji, z którymi lubię się z tym korzystać: # ignore duplicate commands, ignore commands starting with a space export HISTCONTROL=erasedups:ignorespace # keep the last 5000 entries export HISTSIZE=5000 # append to the history instead of overwriting (good for multiple …

3
Zrozumienie „IFS = read -r line”
Rozumiem oczywiście, że można dodać wartość do zmiennej separatora pól wewnętrznych. Na przykład: $ IFS=blah $ echo "$IFS" blah $ Rozumiem również, że read -r linezapisze dane stdinw zmiennej o nazwie line: $ read -r line <<< blah $ echo "$line" blah $ Jak jednak polecenie może przypisać wartość zmiennej? …

3
Z BASH po „przewinięciu” do poprzedniego polecenia… jak przejść do następnego w tej historii?
Przepraszam, ten tytuł nie jest najbardziej elegancki, jaki kiedykolwiek wymyśliłem. Ale zakładam, że wiele osób się nad tym zastanawiało, a moje pytanie może być dupkiem ... mogę tylko powiedzieć, że nie znalazłem. Kiedy mówię „przewijanie” w górę, mam na myśli użycie klawisza „strzałka w górę” na klawiaturze, który oczywiście przewija …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.