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.

2
Dlaczego „bash -x” psuje ten skrypt?
Mam skrypt mierzący czas wykonywania niektórych poleceń. Potrzebuje polecenia „rzeczywistego” time, czyli binarnego na przykład w /usr/bin/time(ponieważ wbudowany bash nie ma -fflagi). Poniżej uproszczony skrypt, który można debugować: #!/bin/bash TIMESEC=$(echo blah | ( /usr/bin/time -f %e grep blah >/dev/null ) 2>&1 | awk -F. '{print $1}') echo ABC--$TIMESEC--DEF if [ …


2
Jak wyświetlać znaki kontrolne (^ C, ^ D, ^ [,…) inaczej w powłoce
Po wpisaniu znaków kontrolnych w powłoce są one wyświetlane przy użyciu tak zwanej „notacji karetki”. Na przykład Escape jest zapisywane ^[w notacji karetki. Lubię dostosowywać moją powłokę bash, aby wyglądała fajnie. Na przykład zmieniłem moje PS1i zostałem PS2pokolorowany. Chcę teraz, aby postacie kontrolne również zyskały niepowtarzalny wygląd, aby były bardziej …

7
Jak sformatować wynik daty ze spacjami jako zmienną w skrypcie?
Chcę wykonać datepolecenie z ładnym formatowaniem, takie jak to: $ date +"%Y-%m-%d %H:%M:%S" 2015-09-17 16:51:58 Ale chcę zapisać to w zmiennej, aby móc wywoływać ze skryptu w następujący sposób: echo "$(nice_date) [WARNING] etc etc" Jednak to nie działa $ nice_date="date +%Y-%m-%d %H:%M:%S" $ echo "$($nice_date)" date: extra operand ‘%H:%M:%S’ Try …
13 bash  date 

2
Jak zwiększyć zmienną lokalną w Bash?
Dane 1 \begin{document} 3 Kod #!/bin/bash function getStart { local START="$(awk '/begin\{document\}/{ print NR; exit }' data.tex)" echo $START } START2=$(getStart) echo $START2 która wraca, 2ale chcę 3. Bezskutecznie zmieniam koniec odpowiedzią dotyczącą tego, jak mogę dodawać liczby w skrypcie bash : START2=$((getStart+1)) Jak można zwiększyć lokalną zmienną w skrypcie …

3
Jak rozumieć polecenie „cat> nazwa_pliku << bla”?
W poniższym poleceniu cat pobiera zawartość here-doc i przekierowuje ją do pliku o nazwie conf: cat &gt; conf &lt;&lt; EOF var1="cat" var2="dog" var3="hamster" EOF Jak zrozumieć kolejność poleceń tutaj? Czy bashnajpierw przetwarza wszystko inne (część doc tutaj) i jako ostatni krok wygląda na &gt; confczęść?

3
Nieoczekiwane zakończenie Bash ~ na OS X
Nacisnąłem ~TabTabwiersz polecenia bash i otrzymałem nieoczekiwany zestaw uzupełnień. Najpierw wyglądało to tak, jak wszyscy ludzie w /Userskatalogu i wiele więcej. Potem pomyślałem, że robi to odwrotnie, szukając ludzi z „domowymi” katalogami /etc/password, a może tymi, które były /var/empty- wydaje się to słuszne. Ciekawe, co się naprawdę dzieje i dlaczego …

2
Czy flock & exec jest bezpieczny w bash?
„Standardowy” fragment blokujący, który widziałem, wygląda mniej więcej tak ... ( flock -n 200 || exit 1; # do stuff ) 200&gt;program.lock Czy korzystanie z niego execw tym momencie jest bezpieczne (wydaje się, że testy tak mówią) ? Czy podproces zachowa blokadę? ( flock -n 200 || exit 1; exec …
13 bash  lock 

4
Błąd `ls` po usunięciu katalogu
Mam dwie otwarte muszle. Pierwszy znajduje się w katalogu A. W drugim usuwam katalog A, a następnie tworzę go ponownie. Kiedy wracam do pierwszej powłoki i piszę ls, dane wyjściowe są następujące: ls: cannot open directory .: Stale file handle Dlaczego? Myślałem, że pierwsza powłoka (ta, która pozostała otwarta w …


2
W jaki sposób zmienne mogą używać „~” do tworzenia cd?
Jak mogę użyć zmiennej - $BASEna mojej płycie CD. Próbowałem następujące, ale pojawia się błąd $ cd ~/z/repo_1_ruby_193/ 23:23:57 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193 $ BASE="~/z" 23:24:03 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193 $ cd $BASE/repo_1_ruby_193 -bash: cd: ~/z/repo_1_ruby_193: No such file or directory 23:24:25 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193

5
Jak mogę programowo stwierdzić, czy nazwa pliku pasuje do wzorca globu powłoki?
Chciałbym powiedzieć, czy ciąg $stringpasowałby do wzorca globu $pattern. $stringmoże, ale nie musi, być nazwą istniejącego pliku. W jaki sposób mogę to zrobić? Przyjmij następujące formaty dla moich ciągów wejściowych: string="/foo/bar" pattern1="/foo/*" pattern2="/foo/{bar,baz}" Chciałbym znaleźć idiom bash, który określa, czy $stringbędzie dopasowane $pattern1, $pattern2lub jakiegokolwiek innego arbitralnego glob wzorca. Oto, …
13 bash  wildcards 

3
Dlaczego gwiazdka [az] odpowiada numerom?
Mam 3 katalogi na bieżącej ścieżce. $ls a_0db_data a_clean_0db_data a_clean_data $ls a_*_data a_0db_data: a_clean_0db_data: a_clean_data: $ls a_[a-z]*_data a_clean_0db_data: a_clean_data: Spodziewałem się, że ostatnie polecenie ls będzie pasować tylko a_clean_data. Dlaczego pasuje również do tego, który zawiera 0? bash --version GNU bash, version 4.2.24(1)-release (i686-pc-linux-gnu)

2
Bash: podstawienie procesu i standardowe wejście
Następująca linia jest oczywista: echo "bla" | foo | bar Ale czy te poniżej robią to samo? echo "bla" | bar &lt;(foo) echo "bla" | bar &lt; &lt;(foo) Które z fooi barprzeczytałem „bla” ze standardowego wejścia i dlaczego? Mam na myśli, że oczywiście mogę po prostu kodować i sprawdzać, ale …

3
Bash autouzupełnianie za pomocą polecenia vim
W bash, automatyczne uzupełnianie ścieżek ostatnio przestało działać podczas wydawania vimpoleceń, w których ścieżka jest głębsza niż dwa katalogi (nadal działa zgodnie z oczekiwaniami z innymi poleceniami, takimi jak lsi cd). Na przykład, jeśli piszę, ls .config/btsync/bta następnie wciskam TAB, rozwija się do ls .config/btsync/btsync.conf. Jeśli piszę, vim .config/bta następnie …

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.