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
Jak jawnie i bezpiecznie wymusić użycie wbudowanego polecenia w bash
Jest to podobne pytanie , które zajmuje się „owijania” scenariusza, w którym chcesz zastąpić na przykład cdz poleceniem, która wywołuje polecenie wbudowane cd. Jednak w świetle shellshocka i innych oraz wiedząc, że bash importuje funkcje ze środowiska, przeprowadziłem kilka testów i nie mogę znaleźć sposobu, aby bezpiecznie wywołać wbudowaną wersję …
19 bash  security 


1
Jak została odkryta podatność Shellshock Bash?
Ponieważ ten błąd dotyczy tak wielu platform, możemy dowiedzieć się czegoś z procesu, w którym wykryto tę lukę: czy był to moment εὕρηκα (eureka) czy wynik kontroli bezpieczeństwa? Ponieważ wiemy, że Stéphane znalazł błąd Shellshock, a inni mogą również znać ten proces, bylibyśmy zainteresowani historią, w jaki sposób znalazł błąd.



5
Czy istnieje sposób, aby powiedzieć sudo, aby ustawiła moją nazwę użytkownika jako właściciela plików utworzonych zamiast root?
Jeśli to zrobię sudo cp /etc/foo.txt ~/foo.txt, nowy plik zostanie utworzony rootjako właściciel. W tej chwili nie widzę innego rozwiązania niż użycie dwóch ostatnich poleceń (w lscelu wyjaśnienia przypadku użycia): belmin@server1$ ls /etc/foo.txt > -rw------- 1 root root 3848 Mar 6 20:35 /etc/foo.txt > belmin@server1$ sudo cp /etc/foo.txt ~/foo.txt belmin@server1$ …
19 bash  files  sudo 

4
Jak przypisać wartości zawierające spację do zmiennych w bash za pomocą eval
Chcę dynamicznie przypisywać wartości do zmiennych za pomocą eval. Działa następujący przykładowy manekin: var_name="fruit" var_value="orange" eval $(echo $var_name=$var_value) echo $fruit orange Jednak gdy wartość zmiennej zawiera spacje, evalzwraca błąd, nawet jeśli $var_valuejest wstawiany między podwójnymi cudzysłowami: var_name="fruit" var_value="blue orange" eval $(echo $var_name="$var_value") bash: orange : command not found Jest jakiś …
19 bash  shell  quoting 

3
problem z tablicą odczytową (lub potokiem)
Utknąłem z dziwnym zachowaniem readarraydowodzenia. Te man bashstany: readarray Read lines from the standard input into the indexed array variable array ale te skrypty nie działają (tablica jest pusta): unset arr; (echo a; echo b; echo c) | readarray arr; echo ${#arr[@]} unset arr; cat /etc/passwd | readarray arr; echo …
19 bash  pipe 

9
Sprawdź, czy ustawiono wiele zmiennych
Chciałbym się upewnić, że w pewnym momencie skryptu, po sourcewczytaniu pliku konfiguracyjnego, ustawionych jest kilka zmiennych, a jeśli tak nie jest, zatrzymanie wykonywania, informowanie użytkownika o brakującej zmiennej. próbowałem for var in $one $two $three ; do ... ale jeśli na przykład $twonie jest ustawiony, pętla nigdy nie zostanie wykonana …


5
Rura przypisuje zmienną
Dla uproszczenia chciałbym zrobić: echo cart | assign spo; echo $spo Wyjście: koszyk Czy taka assignaplikacja istnieje? Jestem świadomy wszystkich sposobów, aby to zrobić za pomocą substytucji.
19 bash  variable 

4
Wyszukaj poprzednie polecenie z tym samym prefiksem, gdy naciskam klawisz Up w wierszu polecenia
Pochodząc ze świata FreeBSD, chcę, aby terminal Linuksa zachowywał się jak FreeBSD, szczególnie wersja 9.1, w zasadzie po wpisaniu cdterminala i naciśnięciu strzałki „w górę” możesz przeglądać wszystkie polecenia w historii, od cdktórych zaczyna się zyskać dużo czasu. Nie wiem, jak włączyć tę funkcję w Linuksie Debian lub CentOS, która …

3
zsynchronizuj niektóre pliki, z wyjątkiem pozostałych, ignorując rekurencyjnie katalog .svn /
Używam rsyncdo kopiowania niektórych plików z udziału do innego. Rekurencyjnie muszę: Usuń pliki docelowe, które zostały usunięte z źródła Tylko synchronizacja .phpi .jspliki Wyklucz każdy inny typ pliku Nie usuwaj .svn/katalogów w miejscu docelowym Jeśli użyję tego: rsync -zavC --delete --include='*.php' --include='*.js' --exclude="*" \ /origin /destination To rsyncnie jest rekurencyjne, …

8
Unikanie zajętego czekania w mgnieniu oka, bez komendy uśpienia
Wiem, że mogę czekać na spełnienie warunku bash, wykonując: while true; do test_condition && break sleep 1 done Ale tworzy 1 podproces przy każdej iteracji (uśpieniu). Mogłem ich uniknąć, wykonując: while true; do test_condition && break done Ale zużywa dużo procesora (zajęte oczekiwanie). Aby uniknąć podprocesów i zajętego czekaniem, wymyśliłem …

4
bash -e kończy działanie, gdy let lub expr ma wartość 0
Mam skrypt bash, który ustawia -e, więc skrypt zakończy działanie w dowolnym stanie wyjścia! = 0. Próbuję wykonać podstawową arytmetykę powłoki przypisaną do zmiennych, a czasami wyrażenie jest równe 0, co powoduje, że stanem wyjścia komendy let lub expr jest „1”. Oto przykład: #!/bin/bash -ex echo "Test 1" Z=`expr 1 …

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.