Rozumiem, że jest to składnia podpowłoki. Czy (<commands...>)to $()tylko podpowłoka, z której można pobrać wartości zmiennych? Uwaga: dotyczy to wersji bash 4.4 opartej na różnych sformułowaniach w ich dokumentacji.
Uczę się o strukturach decyzyjnych i natrafiłem na następujące kody: if [ -f ./myfile ] then cat ./myfile else cat /home/user/myfile fi [ -f ./myfile ] && cat ./myfile || cat /home/user/myfile Oba zachowują się tak samo. Czy są jakieś zalety korzystania z jednej drogi od drugiej?
Natknąłem skryptu bash dziś, że ma nazwy funkcji z podwójnym dwukropkiem ::w nich, na przykład, file::write()i file::read(). Nigdy wcześniej nie widziałem tej składni w skrypcie Bash, a kiedy wywołałem skrypt, działał on dobrze (ku mojemu zdziwieniu). Po przeszukaniu strony podręcznika Basha w moim systemie (i online) nie mogę znaleźć niczego …
Chciałbym napisać funkcję, którą mogę wywołać ze skryptu z wieloma różnymi zmiennymi. Z niektórych powodów mam z tym wiele problemów. Przykłady, które czytałem, zawsze używają po prostu zmiennej globalnej, ale to nie uczyniłoby mojego kodu o wiele bardziej czytelnym, o ile widzę. Przykład zastosowania zgodnego z przeznaczeniem: #!/bin/bash #myscript.sh var1=$1 …
Mam projekt składający się z około 20 małych .shplików. Nazywam je „małymi”, ponieważ ogólnie żaden plik nie ma więcej niż 20 linii kodu. Przyjąłem podejście modułowe, ponieważ dlatego jestem wierny filozofii Uniksa i łatwiej jest mi utrzymać projekt. Na początku każdego .shpliku umieszczam #!/bin/bash. Mówiąc prosto, rozumiem, że deklaracje skryptów …
W Bash możesz przenieść operatory przekierowania wejścia na przód polecenia: cat <<< "hello" # equivalent to <<< "hello" cat Dlaczego nie możesz zrobić tego samego dla pętli while? while read -r line; do echo "$line"; done <<< "hello" # hello <<< "hello" while read -r line; do echo "$line"; done …
TL; DR : Dlaczego grupa nawiasów POSIX potrzebuje spacji po {zarezerwowanym słowie, a podpowłoka nie po zarezerwowanym słowie (? Gramatyka powłoki POSIX definiuje grupę nawiasów i podpowłokę w następujący sposób brace_group : Lbrace compound_list Rbrace subshell : '(' compound_list ')' Teraz, jeśli czytamy to dosłownie, spacje są znaczące. Oznaczałoby to, …
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.