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/sh
stylów w nowoczesnych powłokach obsługuje $(…)
:
- grzmotnąć
- ash (a zatem BusyBox, więc najbardziej osadzony Linux)
- dziarskość
- FreeBSD / bin / sh
I $(…)
jest określony przez IEEE 1003.1.
Mam więc 2 bardzo powiązane pytania:
- Czy jest jakiś powód, aby używać `w nowym procesie tworzenia skryptów powłoki, chyba że znasz konkretny stary system, na którym skrypt będzie musiał działać?
- Czy jest jakiś powód, aby nie uczyć studentów programowania w systemie UNIX tylko pisania
$(...)
i dyskutować`
tylko jako przestarzały wariant, który prawdopodobnie napotkają, gdy będą czytać skrypty powłoki innych programistów (i mogą potrzebować, jeśli pracują ze naprawdę starym systemem lub niestandardowym z jakiegoś powodu)?
$()
- Shift + 4,9, Shift + 0 - 5 naciśnięć klawiszy;
`...`
. Jest tam tylko w przypadku przenośności wstecznej tylko z powłoką Bourne'a (podobnie jak w przypadku powłoki Bourne'a^
(tak samo jak|
) dla przenośności wstecznej z powłoką Thomson). Zauważ jednak, że(t)csh
nie mają$(...)
(ale też nie ma sensu ich używać ani uczyć).