Tato otázka zde již obsahuje odpovědi :Jaký je rozdíl mezi $(stuff) a `stuff`?
(6 odpovědí)
Uzavřeno před 7 lety.
Linux
(6 odpovědí)
Uzavřeno před 7 lety.
Jaký je rozdíl ve shromažďování výstupu příkazu ve skriptu Shell pomocí `command` a $(command)? Například:
# IP1=$(ifconfig eth0 | grep -e "inet " | cut -d: -f2 | awk '{print $1}')
# IP2=`ifconfig eth0 | grep -e "inet " | cut -d: -f2 | awk '{print $1}'`
# echo $IP1 $IP2
> 192.241.145.112 192.241.145.112
Přijatá odpověď:
Hlavní rozdíl je v tom, že zpětná zaškrtnutí se nevnořují:Nemůžete vložit jeden zpětně zaškrtnutý příkaz do druhého. (Ve skutečnosti můžete, ale musíte jim uniknout zpětným lomítkem a odtamtud to bude chlupatější.) To byla, jak věřím, hlavní motivace pro vymýšlení novější syntaxe $(command)
.
$(command)
syntaxe také poskytuje pohodlnou zkratku pro interpolaci obsahu souboru:$(<filename)
je ekvivalentní $(cat filename)
.
Další rozdíl:$()
není podporováno některými běžnými shelly.
Nedokážete vysvětlit chování ACL?
Najít číslo řádku, které obsahuje vzor, pomocí vlastního oddělovače regulárního výrazu?