Ich habe mich über einzelne Klammern in Bash gewundert. Ich weiß, dass sie zum Ausführen von Befehlen in Subshells und zum Erstellen von Arrays verwendet werden, aber werden sie für andere Zwecke verwendet?
Eine Sache, die meine Aufmerksamkeit auf sich gezogen hat, ist die, wenn Sie die in Variablenzuweisung verwenden, wie z
var=(hello)
echo $var # hello
bash erzeugt keinen Fehler oder irgendetwas und die Ausgabe ist die gleiche wie wenn
var=hello
Sind diese beiden Variablendefinitionen gleich oder gibt es einen Unterschied?
var=(1 2 3); echo $var
ist das gleiche wievar=(1 2 3); echo ${var[0]}
?bash
ist das gleiche.""
inecho "${a}"
?a
. Betrachten Sie zum Beispiela=*
, dann versuchen Sieecho $a
undecho "$a"
.