Heim > Betrieb und Instandhaltung > Betrieb und Wartung von Linux > Was ist der Unterschied zwischen ${} und $() in Bash?

Was ist der Unterschied zwischen ${} und $() in Bash?

Freigeben: 2023-08-02 15:30:44
nach vorne
1592 Leute haben es durchsucht

GNU-basierte Betriebssysteme wie Linux verlassen sich auf einen Befehlsspracheninterpreter oder eine Shell namens Bash, um die meisten ihrer Computeraufgaben und -ziele zu erfüllen.

Was ist der Unterschied zwischen ${} und $() in Bash?

Bash ist die Abkürzung für Bourne Again Shell. Bunne Again Shell ist ein Wortspielname, der eine Hommage an Bourne Shell (das heißt, erfunden von Steven Bourne) ist. Hinsichtlich der Kompatibilität passen Bash und sh perfekt zusammen. Nützliche Funktionen der C-Shell (csh) und der Korn-Shell (ksh) sind auch in diesem Shell-Sprachinterpreter enthalten.

In Bezug auf die Implementierung strebt Bash die Einhaltung des Tools-Teils der IEEE POSIX-Spezifikation (IEEE Standard 1003.1) und der IEEE POSIX-Shell an. Daher bietet Bash als interaktives und Programmiertool funktionale Verbesserungen gegenüber denen in sh.

Benutzer von Linux und anderen GNU-basierten Betriebssystemen müssen sich nicht ausschließlich auf Bash als primären Befehlsspracheninterpreter verlassen, da auf diesen Systemen auch Shell-Versionen wie csh vorinstalliert sind. Aufgrund seiner einzigartigen Shell-Eigenschaften wie Portabilität ist Bash nur für die Verwendung als Standard-Linux-Shell konfiguriert.

Vergleich von $() mit ${} in Bash

Um diese beiden Eigenschaften im Zusammenhang mit der Bash-Umgebung zu vergleichen, müssen wir $()to$(command) und ${}to ${parameter}. Wir können also versuchen, diese beiden Bash-Entitäten zu definieren. $()to$(command)${}to ${parameter}。因此,我们可以尝试定义这两个 Bash 实体。

理解 $(命令)

$(command)在Bash中涉及命令替换。更具体地说,命令部分in$(command)被执行,其输出被捕获并打印在标准输出上。

牛逼啊!接私活必备的 N 个开源项目!赶快收藏
Nach dem Login kopieren

背后的语法$(command)

🎜Verstehe $(Befehl)🎜🎜🎜$(command)Beinhaltet Befehlsersetzung in Bash. Genauer gesagt, der Befehlsabschnittin$(command) wird ausgeführt und seine Ausgabe wird erfasst und auf der Standardausgabe gedruckt. Die Syntax hinter 🎜
echo "今天是 $(date). LinuxMi.com 又是美好的一天。"
Nach dem Login kopieren
Nach dem Login kopieren
🎜$(command) ist Token-Ebene. Erwägen Sie die Ausführung des folgenden Befehls, der das aktuelle Datum auf dem Terminal ausdrucken soll. 🎜
echo "今天是 $(date). LinuxMi.com 又是美好的一天。"
Nach dem Login kopieren
Nach dem Login kopieren

Was ist der Unterschied zwischen ${} und $() in Bash?

在 Linux 中打印日期

上述执行可以用以下方式解释。首先,执行 date 命令并将其输出作为参数包含在 echo 命令中。

在这里,我们可以假设命令替换在重新包含在主 shell 之前在单独的子 shell 中执行。

了解 ${parameter}

${parameter}在Bash中涉及参数替换。根据 Bash 手册页,参数是一个值存储实体。参数实体可以与名称、数字或特殊字符相关联。

大括号{}暗示我们在处理位置参数,或者在使用的参数(参数值)后面是一个与参数名称不相关的非解释性字符,例如${animal}s

至于位置参数,可以用一个或多个数字来表示(单个数字 0 除外)。因此,如果我们有一个名为$variable_name的变量,则可以使用参数 替换${parameter}来检索关联的变量值。

考虑以下变量声明命令:

$ animal=lion
Nach dem Login kopieren

让我们调用 animal 变量以尝试将变量值复数:

$ echo $animals
Nach dem Login kopieren

Was ist der Unterschied zwischen ${} und $() in Bash?

在命令中声明变量

在标准输出中不会打印任何内容,因为 Bash 不理解变量$animals。但是,我们可以通过如下方式使用参数替换方法成功调用我们的$animals变量:

$ echo ${animal}s
Nach dem Login kopieren

Was ist der Unterschied zwischen ${} und $() in Bash?

在命令中调用变量

在某些情况下,感叹号可能会在参数替换实现的第一个左大括号之后出现。在这种情况下,就会出现变量间接的概念。另外,搜索公众号Linux就该这样学后台回复“猴子”,获取一份惊喜礼包。

变量值优先于参数值,如下所示:

$ animal=lion 
$ echo $animal
$ lion=rafiki
$ echo $lion
$ echo ${!animal}
Nach dem Login kopieren

Was ist der Unterschied zwischen ${} und $() in Bash?

参数值的优先级

希望本文能够说明 Bash 中$()${}之间的区别。

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen ${} und $() in Bash?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:Linux中文社区
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage