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.

3
Jaki jest cel „true” w bash „jeśli sudo true; następnie"
Zhakowałem razem ten skrypt bash, który sprawdza, czy użytkownik ma uprawnienia administratora, a jeśli nie, prosi o nie. W końcu próbuję odwrócić drugą instrukcję „if”, aby móc usunąć następujące dwie linie (echo „hasło ok” i pozostałe w kolejnej linii) # Root user only if [[ "$EUID" != 0 ]]; then …
20 bash  sudo 

5
Co robi wpisanie pojedynczego wykrzyknika w Bash?
Bash używa wykrzykników do rozszerzeń historii, jak wyjaśniono w odpowiedziach na to pytanie (np. sudo !!Uruchamia poprzedni wiersz poleceń sudo). Jednak nie mogę znaleźć nigdzie, co wyjaśnia, co robi następujące polecenie (np. Pojedynczy wykrzyknik): ! Wygląda na to, że nic nie drukuje i wychodzi z 1, ale nie jestem pewien, …


2
Dlaczego zachowanie `polecenia 1> plik.txt 2> plik.txt` różni się od` polecenia 1> plik.txt 2> i 1`?
Jeśli chcesz przekierować stdout i stderr do tego samego pliku, możesz to zrobić za pomocą command 1>file.txt 2>&1, lub command &>file.txt. Ale dlaczego zachowanie command 1>file.txt 2>file.txtróżni się od powyższych dwóch poleceń? Poniżej znajduje się polecenie weryfikacji. $ cat redirect.sh #!/bin/bash { echo -e "output\noutput" && echo -e "error" 1>&2; …

1
Grep powoli wychodzi po znalezieniu meczu?
Próbuję napisać skrypt bash, który odpytuje btmon w poszukiwaniu połączeń urządzeń. Mam działające rozwiązanie, ale jest absurdalnie wolne i wydaje się, że problem polega na tym, że grep bardzo powoli wychodzi z gry po znalezieniu dopasowania (około 25 sekund). Co mogę zrobić, aby przyspieszyć greplub całkowicie go nie używać? #!/bin/bash …
20 bash  grep 

3
Jak mogę zobaczyć, jakie polecenie faktycznie uruchomiono w powłoce, przez alias lub funkcję
Mam na przykład funkcję bash (lub alias) function install() {sudo apt-get install $@}. Podczas uruchamiania polecenia install dicelab, to, czego się spodziewałem, zostanie uruchomione sudo apt-get install dicelab. Gdzie mogę zobaczyć, co faktycznie uruchomiła powłoka? Chciałbym się upewnić, że moje bardziej skomplikowane aliasy działają zgodnie z oczekiwaniami.
20 bash  shell  debugging 


2
zagnieżdżone podwójne cudzysłowy w wysoko ocenianym jednym wierszu
StackOverflow odpowiedź z> 3.5K głosów dysponuje ten jeden-liner przypisywania do DIRkatalogu bieżącego skryptu bash: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" Zaskakują mnie zagnieżdżone podwójne cudzysłowy. O ile wiem, następujące fragmenty są cytowane: "$( cd " "${BASH_SOURCE[0]}" " && pwd )" ... i wszystko inne po prawej stronie …

4
czasami polecenia historii nie są przechowywane w .bash_history
Wczoraj wydałem wiele poleceń w moim CentOS 7. Ale kiedy chciałem dzisiaj odzyskać te polecenia, stwierdziłem, że nie było żadnego rekordu. Kiedy otworzyłem plik .bash_history, nadal nie mogłem znaleźć poleceń, które wydałem wczoraj, ale wiele starych poleceń znalazłem kilka dni temu. Dlaczego ostatnie polecenia nie zostały zapisane? Jak mogę zwiększyć …


5
Dlaczego pośrodku argumentów znajduje się EOF?
Chciałem napisać małą funkcję bash, tak że mogę powiedzieć bash, import osalbo from sys import stdoutspowoduje to pojawienie się nowego interpretera Pythona z zaimportowanym modułem. Ta ostatnia fromfunkcja wygląda następująco: from () { echo "from $@" | xxd python3 -i -c "from $@" } Jeśli nazywam to: $ from sys …
20 bash  python 

3
Co robi `<& -`?
Skopiowałem fragment Basha do tła polecenia ssh wykonanego zdalnie: ssh user@remote &lt;&lt;CMD some process &lt;&amp;- &gt;log 2&gt;error &amp; CMD Co ma &lt;&amp;-zrobić? Domyślam się, że to to samo co&lt; /dev/null Mój następny zrozumienie jest, że trzy główne deskryptory plików ( stdin, stdout, stderr) muszą być zamknięte, aby zapobiec: Zadanie jest …




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.