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.
Próbowałem połączyć pliki tekstowe w podfolderach i próbowałem: cat ./{mainfolder1,mainfolder2,mainfolder3}/{subfolder1}/book.txt > out$var Jednak to nic nie zwróciło. Próbowałem więc dodać nieistniejący „podfolder2” cat ./{mainfolder1,mainfolder2,mainfolder3}/{subfolder1,subfolder2}/book.txt > out$var I tym razem się udało, łącząc pliki z powodzeniem. Dlaczego tak się dzieje?
Próbuję skopiować plik pod inną nazwą do tego samego katalogu, używając rozszerzenia nawiasów klamrowych. Używam bash 4.4.18. Oto co zrobiłem: cp ~/some/dir/{my-file-to-rename.bin, new-name-of-file.bin} ale pojawia się ten błąd: cp: cannot stat '/home/xyz/some/dir/{my-file-to-rename.bin,': No such file or directory Nawet takie proste rozwinięcie nawiasu klamrowego daje mi ten sam błąd: cp {my-file-to-rename.bin, …
<command> --help | grep <feature>Codziennie robię to bardzo często. Zastanawiałem się, czy można stworzyć coś takiego ^^, "--help | grep"a następnie robię to: ls ^^ size Spowoduje to wykonanie następujących czynności: ls --help | grep size
Proste pytanie. Czy powłoka bash ma jakieś wsparcie dla używania wskaźników podczas pisania skryptu powłoki? Znam notację ekspansji ${var[@]}podczas iteracji po tablicy $var, ale nie jest jasne, czy używa wskaźników do iteracji po indeksach tablicy. Czy bash zapewnia dostęp do adresów pamięci, podobnie jak inne języki? Jeśli bash nie obsługuje …
Biorąc pod uwagę te nazwy plików: $ ls -1 file file name otherfile bash sam doskonale sobie radzi z osadzonymi białymi znakami: $ for file in *; do echo "$file"; done file file name otherfile $ select file in *; do echo "$file"; done 1) file 2) file name 3) …
Pobieram wiele plików do folderu downloadingprzez HTTPie . Skrypt bash ma na celu przetwarzanie pobranych plików, a ja próbowałem skopiować pobrane pliki do innego folderu jako find /folder/downloading -type f -exec mv '{}' /folder/downloaded \; ale powoduje to również skopiowanie plików, które nie zostały jeszcze ukończone. Próbowałem ograniczyć transfer do …
Patrzę na skrypt, który ma: if [ "${PS1-}" ]; then To ostatnie -mnie trochę wkurza, ponieważ wydaje się, że nie jest to standardowa składnia Posix lub Bash. To jakaś tajemnicza składnia, która istnieje od zawsze, czy to literówka? Wszelkie odniesienia do standardów / dokumentów będą mile widziane. Normalnie kodowałbym to: …
Mam pewien skrypt bash, który chce zachować oryginalną /dev/stdoutlokalizację przed zamianą 1. deskryptora pliku na inną lokalizację. Oczywiście napisałem coś takiego old_stdout=$(readlink -f /dev/stdout) I to nie zadziałało. Bardzo szybko rozumiem na czym polegał problem: test@ubuntu:~$ echo $(readlink -f /dev/stdout) /proc/5175/fd/pipe:[31764] test@ubuntu:~$ readlink -f /dev/stdout /dev/pts/18 Oczywiście $()działa w podpowłoce, …
Czy są dostępne narzędzia / triki do rozwijania zmiennych, aby ułatwić czytanie kodu bash? Na przykład przekonwertowałby następujące: DIR=/var/tmp FILE=${DIR}/file SCRIPT_ROOT=/opt/root TOOL=${SCRIPT_ROOT}/tool.sh ${TOOL} ${FILE} do: DIR=/var/tmp FILE=/var/tmp/file SCRIPT_ROOT=/opt/root TOOL=/opt/root/tool.sh /opt/root/tool.sh /var/tmp/file Konwertuję kod BASH na Python i czytanie składni BASH jest piekielnie nużące.
Rozważ to z dokumentacji wbudowanego exec Bash: exec zastępuje powłokę bez tworzenia nowego procesu Podaj przypadek użycia / praktyczny przykład. Nie rozumiem, jak to ma sens. Poszukałem go i znalazłem informacje o przekierowaniu we / wy . Czy możesz to lepiej wyjaśnić?
Powiedzmy, że mam katalog z plikami a1, a2, a3, b1, b2, b3. Chcę tylko dopasować pliki, które zaczynają się od, aale nie zawierają 3. Próbowałem, ls -I "*3" *a*ale powraca a1 a2 a3, chociaż nie chcę, żeby pasowało a3. Czy to jest możliwe ls?
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.