Pytania otagowane jako bash

W przypadku pytań dotyczących skryptów napisanych dla powłoki poleceń Bash. W przypadku skryptów powłoki z błędami / błędami składni sprawdź je za pomocą programu shellcheck (lub na internetowym serwerze shellcheck pod adresem https://shellcheck.net) przed opublikowaniem tutaj. Pytania dotyczące interaktywnego korzystania z Bash są bardziej prawdopodobne na Super User niż na Stack Overflow.

3
cp -r bez ukrytych plików
Mam dwa katalogi i jeden jest pusty. Pierwszy katalog zawiera wiele podkatalogów z ukrytymi plikami. Kiedy cp -rzawartość z pierwszego katalogu do drugiego, ukryte pliki również są kopiowane. Jakieś sposoby na ucieczkę?
89 linux  bash  cp 

7
Najłatwiejszy sposób sprawdzenia indeksu lub klucza w tablicy?
Za pomocą: set -o nounset Posiadanie tablicy indeksowanej, takiej jak: myArray=( "red" "black" "blue" ) Jaki jest najkrótszy sposób sprawdzenia, czy element 1 jest ustawiony? Czasami używam następujących: test "${#myArray[@]}" -gt "1" && echo "1 exists" || echo "1 doesn't exist" Chciałbym wiedzieć, czy istnieje preferowany. Jak radzić sobie z …
89 arrays  bash  indexing  key 

4
Jak wyświetlić numer linii podczas wykonywania skryptu bash
Mam skrypt testowy, który ma wiele poleceń i generuje dużo danych wyjściowych, używam set -xlub set -vi set -e, więc skrypt zatrzymywał się, gdy wystąpił błąd. Jednak nadal jest mi dość trudno zlokalizować, która linia spowodowała zatrzymanie wykonywania w celu zlokalizowania problemu. Czy istnieje metoda, która może wyświetlić numer wiersza …
89 linux  bash  testing 

18
Śpij do określonej godziny / daty
Chcę, aby mój skrypt bash spał do określonego czasu. Tak więc chcę polecenie typu „sen”, które nie zajmuje przerwy, ale kończy czas i śpi do tego czasu. Demon „at” nie jest rozwiązaniem, ponieważ muszę blokować uruchomiony skrypt do określonej daty / godziny. Czy jest takie polecenie?
89 bash  sleep  wait 

13
Wymuś opróżnianie danych wyjściowych do pliku, gdy skrypt bash nadal działa
Mam mały skrypt, który jest wywoływany codziennie przez crontab za pomocą następującego polecenia: /homedir/MyScript &> some_log.log Problem z tą metodą polega na tym, że plik some_log.log jest tworzony dopiero po zakończeniu działania MyScript. Chciałbym wrzucić dane wyjściowe programu do pliku podczas jego działania, aby móc na przykład robić rzeczy tail …
89 bash  file  flush 

4
Jak odczytać dane wejściowe użytkownika w zmiennej w Bash?
Próbuję stworzyć skrypt, który upraszcza proces tworzenia nowego użytkownika na urządzeniu iOS. Oto podzielone kroki. fullname="USER INPUT" user="USER INPUT" group=$user uid=1000 gid=1000 home=/var/$user echo "$group:*:$gid:$user" >> /private/etc/group echo "$user::$uid:$gid::0:0:$fullname:$home:/bin/sh" >> /private/etc/master.passwd passwd $user mkdir $home chown $user:$group $home Jak widać, niektóre pola wymagają wprowadzenia. Jak mogę zażądać wprowadzenia zmiennej w …
89 bash  shell 

13
Używanie seda do masowej zmiany nazw plików
Cel Zmień te nazwy plików: F00001-0708-RG-biasliuyda F00001-0708-CS-akgdlaul F00001-0708-VF-hioulgigl do tych nazw plików: F0001-0708-RG-biasliuyda F0001-0708-CS-akgdlaul F0001-0708-VF-hioulgigl Kod powłoki Testować: ls F00001-0708-*|sed 's/\(.\).\(.*\)/mv & \1\2/' Występować: ls F00001-0708-*|sed 's/\(.\).\(.*\)/mv & \1\2/' | sh Moje pytanie Nie rozumiem kodu seda. Rozumiem, co to polecenie zamiany $ sed 's/something/mv' znaczy. I trochę rozumiem wyrażenia …
89 bash  shell  sed  file-rename 

5
użyj wyrażenia regularnego w warunku-if w bash
Zastanawiam się, jaka jest ogólna zasada używania wyrażenia regularnego w klauzuli if w bash? Oto przykład $ gg=svm-grid-ch $ if [[ $gg == *grid* ]] ; then echo $gg; fi svm-grid-ch $ if [[ $gg == ^....grid* ]] ; then echo $gg; fi $ if [[ $gg == ....grid* ]] …
88 regex  bash 

9
Jak porównać katalog dla plików tylko określonego typu?
Mam pytanie dotyczące polecenia diff, jeśli chcę rekursywnego porównania katalogu, ale tylko dla określonego typu pliku, jak to zrobić? Próbowałem użyć opcji wykluczania, ale mogę użyć tylko jednego wzorca: $ diff /destination/dir/1 /destination/dir/2 -r -x *.xml z poleceniem mogę tylko wyklucza typ pliku xml, chociaż istnieją pliki w folderze typu …
88 linux  bash 

4
Czy zatrzymać rozwijanie znaków wieloznacznych powłoki?
Czy istnieje sposób, aby skompilowany program wiersza poleceń powiedział bashowi lub csh, że nie chce, aby w swoich parametrach były rozwijane żadne symbole wieloznaczne? Na przykład, ktoś może potrzebować polecenia powłoki, takiego jak: foo * aby po prostu zwrócić numeryczną wartość ASCII tego znaku.
88 bash  wildcard 


12
Zapętlić krotki w bash?
Czy można zapętlić krotki w bash? Na przykład byłoby świetnie, gdyby zadziałały: for (i,j) in ((c,3), (e,5)); do echo "$i and $j"; done Czy istnieje obejście, które w jakiś sposób pozwala mi zapętlić krotki?
88 bash  for-loop 

12
Zmuszanie basha do rozwijania zmiennych w łańcuchu ładowanym z pliku
Próbuję dowiedzieć się, jak zrobić bash (wymusić?) Rozwinąć zmienne w ciągu (który został załadowany z pliku). Mam plik o nazwie „coś.txt” z zawartością: hello $FOO world Potem biegnę export FOO=42 echo $(cat something.txt) to zwraca: hello $FOO world Nie rozszerzał $ FOO, mimo że zmienna była ustawiona. Nie mogę ewaluować …
88 linux  bash  shell  unix 


10
Używanie znaku gwiazdki w grep
Próbuję wyszukać podłańcuch „abc” w określonym pliku w linux / bash Ja również: grep '*abc*' myFile Nic nie zwraca. Ale jeśli to zrobię: grep 'abc' myFile Zwraca poprawnie dopasowania. Teraz to nie jest dla mnie problem. Ale co, jeśli chcę grepować dla bardziej złożonego ciągu, powiedzmy *abc * def * …
88 regex  bash  grep 

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.