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.
Chcę wiedzieć, czy istnieje sposób na umieszczenie ampersand w zmiennej i nadal używanie go do wysyłania procesu do tła. To działa: BCKGRND=yes if [ "$BCKGRND" = "yes" ]; then sleep 5 & else sleep 5 fi Ale czy nie byłoby fajnie zrealizować te pięć linii za pomocą tylko jednej? Tak …
Chcę wygenerować posortowaną listę ze wszystkimi 8-cyfrowymi liczbami - od 00000000 do 99999999. Wpisałem powłokę: f() { while IFS="" read -r line; do for i in {0..9}; do echo "$line$i"; done; done } echo | f | f | f | f | f | f | f | f …
Próbuję wydrukować dwa ciągi znaków oddzielone TAB. Próbowałem: echo -e 'foo\tbar' printf '%s\t%s\n' foo bar Oba drukują: foo bar Gdzie biała spacja między nimi wynosi w rzeczywistości 5 spacji (zgodnie z wyborem wyjścia za pomocą myszy w Putty). Próbowałem również użyć CTRL + V i naciskając TAB podczas wpisywania polecenia, …
Biorąc pod uwagę tablicę ciągów, chciałbym posortować tablicę według długości każdego elementu. Na przykład... array=( "tiny string" "the longest string in the list" "middle string" "medium string" "also a medium string" "short string" ) Powinien sortować do ... "the longest string in the list" "also a medium string" "medium string" …
Napisałem go przez pomyłkę, ale bash nie wydrukował żadnych błędów (ale utworzył pusty plik), więc pomyślałem, że może to coś znaczy? (np. data |> tmp.txt)
Chcę usunąć pliki, które nie mają w nazwie nazwy „999” (bez „”). Próbowałem: grep -vlr 999 . | xargs -0 rm -f -- find . -print0 | grep --null-data -v 999 | xargs -0 rm -- Ale żaden z nich nie działa. Używam macOS Sierra z bash: 3.2.57.
$ myvar="/path to/my directory" $ sudo bash -c "cd $myvar" W takim przypadku, jak mogę cytować, $myvaraby uniknąć dzielenia słów z powodu białych spacji w wartości myvar?
Czy można na przykład rozszerzyć orwybór w powłoce podczas odczytu pliku? Rozumiem przez to, że na przykład grepobsługuje składnię, taką jak (A|B)dopasowanie A lub B w pliku. Podobnie, jeśli mam te pliki: file1.txt file2.txt file3.txt file4.txt file5.txt Mogłem zrobić cat file{1..5}.txtw bash, ponieważ rozszerza zakres. Czy istnieje równoważny sposób na …
Jestem nowy w bash i nie mogę przez całe życie wymyślić, jak uruchomić określone polecenie, przypuszczać ./fffi drukować standardowe stdouts przed stderr (sam jestem zdezorientowany co do znaczenia) na przykład $ printf "I am a\ndrill\n" > fff; $ cat fff nofile fff nofile fff I am a drill cat: nofile: …
Możemy użyć składni ${var##pattern}i ${var%%pattern}wyodrębnić ostatnią i pierwszą sekcję adresu IPv4: IP=109.96.77.15 echo IP: $IP echo 'Extract the first section using ${var%%pattern}: ' ${IP%%.*} echo 'Extract the last section using ${var##pattern}: ' ${IP##*.} Jak możemy wyodrębnić drugą lub trzecią sekcję adresu IPv4 za pomocą rozszerzenia parametrów? Oto moje rozwiązanie: używam …
Powiedz, że mam następujący skrypt: #!/bin/bash for i in $(seq 1000) do cp /etc/passwd tmp cat tmp | head -1 | head -1 | head -1 > tmp #this is the key line cat tmp done W kluczowym wierszu czytam i piszę ten sam plik, tmpktóry czasem się nie udaje. …
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.