Odpowiedź na to pytanie spowodowała, że zadałem kolejne pytanie: myślałem, że poniższe skrypty robią to samo, a drugi powinien być znacznie szybszy, ponieważ pierwszy używa cattego, który musi otwierać plik w kółko, ale drugi otwiera tylko plik jeden raz, a potem po prostu echo zmiennej: (Zobacz poprawny kod w sekcji …
Załóżmy, że chcę usunąć wszystkie pliki w folderze, które są większe niż 1 MB. $ find . -size +1M | xargs -0 rm Nie spowoduje to usunięcia plików, które mają spacje w swoich nazwach. Chcę, żeby zacytował wszystkie argumenty, do których wysyła rm. Jeśli finddaje to Some report.docxpowinien on przejść …
Jeśli mam katalog zawierający niektóre pliki, których nazwy zawierają spacje, np $ ls -1 dir1 file 1 file 2 file 3 Mogę z powodzeniem skopiować wszystkie z nich do innego katalogu, takiego jak ten: $ find dir1 -mindepth 1 -exec cp -t dir2 {} + Jednak dane wyjściowe find dir1 …
Widziałem przewodniki skryptów Bash sugerujące użycie tablicy do pracy z nazwami plików zawierającymi białe znaki. DashAsBinSh sugeruje jednak, że tablice nie są przenośne, dlatego szukam zgodnego z POSIX sposobu pracy z listami nazw plików, które mogą zawierać spacje. Chcę zmodyfikować poniższy przykładowy skrypt, aby to zrobił echo foo/target/a.jar foo/target/b.jar bar/target/lol …
Jak mogę grepować dla wiersza zawierającego znak potoku |lub dla znaku >: files content: |this is test where is > this is none teraz potrzebuję polecenia grep grep -iE "<some expression>" file_name Wynik: |this is test where is >
W języku Bash, kiedy należy podać argumenty wiersza polecenia, jakie znaki należy uciec? Są one ograniczone do metaznakami bash: przestrzeni, karcie |, &, ;, (, ), <, i >?
Zdaję sobie sprawę, że !ma to szczególne znaczenie w wierszu poleceń w kontekście historii wiersza poleceń, ale poza tym w wykrywającym skrypcie wykrzyknik może czasami powodować błąd analizy. Myślę, że ma to coś wspólnego z event, ale nie mam pojęcia, co to za wydarzenie lub co robi. Mimo to to …
Informacja o systemie System operacyjny: OS X bash: GNU bash, wersja 3.2.57 (1) - wydanie (x86_64-apple-darwin16) tło Chcę, aby wehikuł czasu wykluczył zestaw katalogów i plików ze wszystkich moich projektów git / nodejs. Moi katalogów projektu są ~/code/private/i ~/code/public/tak staram się używać bash pętli wykonać tmutil. Kwestia Krótka wersja Jeśli …
Mam problem z wykonaniem skryptu. Podczas wykonywania go w trybie debugowania (bash -x) widzę, że bash dodaje dodatkowe cudzysłowy. Dlatego mój skrypt nie działa. Tutaj jest to w moim skrypcie: testvar="\"sudo /home/pi/shared/blink.sh 27 off\"" ssh -n -q -q -o BatchMode=yes -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=5 $1 ${testvar} To jest …
Wiele pytań, takich jak „Jak wpisać znak podwójnego cudzysłowu („)? ” są zadawane, a my nie chcemy zaśmiecać naszej społeczności tą samą odpowiedzią (wpisz ją tak, \"jakby nie była ujęta w 's, "jeśli ujęta w 's.) Więc pytanie jest tutaj. Nie możesz wpisywać specjalnych znaków w terminalu jak normalne, np. …
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
Wiem, że możemy uciec od znaku specjalnego, takiego jak *(){}$z \, aby zostać uznani za literały. Na przykład \*lub\$ Ale w przypadku, .gdy muszę to zrobić dwa razy, \\.inaczej jest to uważane za charakter specjalny. Przykład: man gcc | grep \\. Dlaczego tak jest
~$ echo $(ls) arguments.txt cecho.sh Desktop Documents Downloads example.txt Music Pictures Public ~$ echo $(ls "*.txt") ls: cannot access *.txt: No such file or directory Dlaczego nie działa polecenie drugiej podpowłoki?
Mam aplikację otoki, w której muszę pozwolić użytkownikowi określić niestandardowe opcje przekazywania do symulatora. Chcę jednak upewnić się, że użytkownik nie wstrzykuje innych poleceń za pomocą opcji użytkownika. Jaki jest najlepszy sposób na osiągnięcie tego? Na przykład. Użytkownik zapewnia: -a -b Aplikacja wykonuje: mysim --preset_opt -a -b Jednak nie chcę, …
Powiedzmy, że muszę użyć cudzysłowów do enkapsulacji danych wyjściowych podpowłoki, takich jak: DATA="$(cat file.hex | xxd -r)" Ale muszę zagnieżdżać tego rodzaju rzeczy, takie jak: DATA="$(cat file.hex | xxd -r | tr -d \"$(cat trim.txt)\")" Nie mogę używać pojedynczych cudzysłowów, ponieważ nie rozszerzają one zawartych w nich zmiennych. Wycofywanie cytatów …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.