Istnieją dwie składnie zastępowania poleceń: z nawiasami dolara i ze znakami wstecznymi. Działa top -p $(pidof init)i top -p `pidof init`daje tę samą moc wyjściową. Czy są to dwa sposoby robienia tego samego, czy też istnieją
Pytania dotyczące podstawiania poleceń powłoki (takich jak $ (polecenie) lub `polecenie`), ich mechanizmu, poprawnej składni itp. Nie należy ich mylić z aliasami.
Istnieją dwie składnie zastępowania poleceń: z nawiasami dolara i ze znakami wstecznymi. Działa top -p $(pidof init)i top -p `pidof init`daje tę samą moc wyjściową. Czy są to dwa sposoby robienia tego samego, czy też istnieją
W moim środowisku Bash używam zmiennych zawierających spacje i używam tych zmiennych w ramach zastępowania poleceń. Niestety nie mogę znaleźć odpowiedzi na SE. Jaki jest prawidłowy sposób cytowania moich zmiennych? Jak mam to zrobić, jeśli są zagnieżdżone? DIRNAME=$(dirname "$FILE") lub czy mam...
Chcę utworzyć plik dziennika dla skryptu cron, który ma bieżącą godzinę w nazwie pliku dziennika. Oto polecenie, którego próbowałem użyć: 0 * * * * echo hello >> ~/cron-logs/hourly/test`date "+%d"`.log Niestety pojawia się ten komunikat, gdy działa: /bin/sh: -c: line 0: unexpected EOF...
Mam polecenie, które wyprowadza dane do stdout ( command1 -p=aaa -v=bbb -i=4). Linia wyjściowa może mieć następującą wartość: rate (10%) - name: value - 10Kbps Chcę grepować ten wynik, aby zapisać tę „szybkość” (myślę, że fajka będzie tu przydatna). Na koniec chciałbym, aby ta szybkość była...
#!/bin/bash function0() { local t1=$(exit 1) echo $t1 } function0 echowyświetla pustą wartość. Oczekiwałem: 1 Dlaczego t1zmienna nie otrzymuje wartości zwracanej przez komendę exit -
Wypróbowuję polecenie $ b=5; echo `$b`; -bash: 5: command not found ale nie drukuje 5 tak, jak powinno. Czego tu brakuje? Co oznacza `(backquote / backtick) w poleceniach? zdaje się mówić, że `ocenia polecenia wewnątrz i zamienia je na dane
Wiem, że mogę rozwiązać ten problem na kilka sposobów, ale zastanawiam się, czy można to zrobić tylko przy użyciu wbudowanych bashów, a jeśli nie, jaki jest najbardziej efektywny sposób. Mam plik z zawartością typu AAA B C DDD FOO BAR przez co rozumiem tylko, że ma kilka linii, a każda linia...
Zgodnie z poniższym przykładem i moim ostatnim pytaniem In bash, gdzie zniknął znak końca nowej linii? Chcę wiedzieć, dlaczego tak się dzieje x="$(echo -ne "a\nb\n")" ; echo -n "$x" | xxd -p # Output is: 610a62 # The trailing newline from the 'echo' command # has been "deleted" by Command...
To pytanie zostało przeniesione z usterki serwera, ponieważ można na nie odpowiedzieć w systemie wymiany stosów Unix i Linux. Migrował 2 lata temu . Jedną z metod łatwej instalacji dla Dockera (na przykład) jest: curl -sSL https://get.docker.com/ | sh Jednak widziałem...
Rozważ ten skrypt: #!/bin/bash function start { leafpad & echo $! } PID=$(start) echo "PID is $PID" Skrypt nie przechodzi przez nawias zamykający, dopóki proces leafpad nie zostanie zakończony, nawet jeśli jest to proces w tle. Dlaczego to? Czy można uruchomić proces w tle z...
W tym pytaniu ktoś zgłasza problem z użyciem dokumentu tutaj z cytowanym słowem ogranicznika w $(...)podstawianiu poleceń , gdzie odwrotny ukośnik \na końcu linii w dokumencie powoduje kontynuację linii łączącej nową linię , podczas gdy ten sam dokument tutaj podstawienie polecenia poza operacją...
StackOverflow odpowiedź z> 3.5K głosów dysponuje ten jeden-liner przypisywania do DIRkatalogu bieżącego skryptu bash: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" Zaskakują mnie zagnieżdżone podwójne cudzysłowy. O ile wiem, następujące fragmenty są cytowane: "$( cd...
for k in {0..49}; do a=$(($((2*$k))+1)); echo $a; done Cześć, potrzebuję uproszczonego wyrażenia dla trzeciego wiersza, być może takiego, który nie korzysta z podstawiania
Najwyższy czas rozwiązać tę zagadkę, która niepokoi mnie od lat ... Spotykałem się z tym od czasu do czasu i myślałem, że to jest właściwa droga: $(comm "$(arg)") I pomyślałem, że moje zdanie jest mocno poparte doświadczeniem. Ale nie jestem już taki pewien. Shellcheck też nie może się...
Próbuję wywołać skrypt z listą nazw plików zebranych przez find. Nic specjalnego, po prostu coś takiego: $ myscript `find . -name something.txt` Problem polega na tym, że niektóre ścieżki zawierają spacje, więc przy interpretacji argumentów dzielą się one na dwie nieprawidłowe nazwy. Zazwyczaj...
Rozumiem, że bardziej nowoczesna $(...)składnia zastępowania poleceń jest lepsza niż `składnia oparta na starej , ze względu na łatwiejsze i mniej podatne na błędy zagnieżdżanie i unikanie składni. Ponadto wydaje się, że większość /bin/shstylów w nowoczesnych powłokach obsługuje...
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...
Poniższy kod najlepiej opisuje sytuację. Dlaczego ostatni wiersz nie wyświetla końcowego znaku nowej linii? Wynik każdego wiersza jest pokazany w komentarzu. Używam GNU bash, wersja 4.1.5 echo -n $'a\nb\n' | xxd -p # 610a620a x=$'a\nb\n' ; echo -n "$x" | xxd -p # 610a620a echo -ne "a\nb\n" |...
Próbuję uruchomić grep na liście kilkuset plików: $ head -n 3 <(cat files.txt) admin.php ajax/accept.php ajax/add_note.php Jednak pomimo tego, że szukam ciągu, o którym wiem, że znajduje się w plikach, następujące pliki nie wyszukują plików: $ grep -i 'foo' <(cat files.txt) $ grep -i...
Zgodnie z tym podręcznikiem : -E (także -o errtrace) Jeśli jest ustawiony, każda pułapka na ERR jest dziedziczona przez funkcje powłoki, podstawienia poleceń i polecenia wykonywane w środowisku podpowłoki. Pułapka ERR zwykle nie jest dziedziczona w takich przypadkach. Jednak muszę to...