自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Bash 中的 ${} 和 $() 有什么區(qū)別

系統(tǒng) Linux
為了比較與 Bash 環(huán)境相關(guān)的這兩個屬性,我們必須重申$()to$(command)和${}to ${parameter}。因此,我們可以嘗試定義這兩個 Bash 實體。

?像 Linux 這樣的基于 GNU 的操作系統(tǒng)依賴于一個名為 Bash 的命令語言解釋器或 Shell 來完成它們的大部分計算任務和目標。

BBash 是 Bourne Again Shell 的縮寫,Bunne Again Shell 是一個雙關(guān)的名稱,是對 Bourne Shell (即 Steven Bourne 發(fā)明)的致敬。在兼容性方面,Bash 和 sh 是絕配。C shell ( csh ) 和Korn shell ( ksh ) 中明顯的有用特性也包含在這個 shell 語言解釋器中。

在實現(xiàn)方面,Bash 旨在符合 IEEE POSIX 規(guī)范(IEEE 標準 1003.1)工具部分和 IEEE POSIX Shell。因此,作為一種交互式和編程工具,Bash  提供的功能改進勝過 sh 中的改進。

Linux 和其他基于 GNU 的操作系統(tǒng)的用戶不必僅僅依賴Bash作為他們的主要命令語言解釋器,因為像 csh 這樣的 shell 版本也預先打包在這些系統(tǒng)中。由于其獨特的 shell 屬性(如可移植性),Bash 僅配置為用作默認 Linux shell。

在 Bash 中比較 $() 與 ${}

為了比較與 Bash 環(huán)境相關(guān)的這兩個屬性,我們必須重申$()to$(command)和${}to ${parameter}。因此,我們可以嘗試定義這兩個 Bash 實體。

理解 $(命令)

$(command)在Bash中涉及命令替換。更具體地說,命令部分 in$(command)被執(zhí)行,其輸出被捕獲并打印在標準輸出上。

背后的語法$(command)是令牌級別的??紤]執(zhí)行以下命令,該命令旨在在終端上打印出當前日期。

echo "今天是 $(date). LinuxMi.com 又是美好的一天。"

在 Linux 中打印日期

上述執(zhí)行可以用以下方式解釋。首先,執(zhí)行 date 命令并將其輸出作為參數(shù)包含在 echo 命令中。

在這里,我們可以假設命令替換在重新包含在主 shell 之前在單獨的子 shell 中執(zhí)行。

了解 ${parameter}

${parameter}在Bash中涉及參數(shù)替換。根據(jù) Bash 手冊頁,參數(shù)是一個值存儲實體。參數(shù)實體可以與名稱、數(shù)字或特殊字符相關(guān)聯(lián)。

大括號{}暗示我們在處理位置參數(shù),或者在使用的參數(shù)(參數(shù)值)后面是一個與參數(shù)名稱不相關(guān)的非解釋性字符,例如${animal}s。

至于位置參數(shù),可以用一個或多個數(shù)字來表示(單個數(shù)字 0 除外)。因此,如果我們有一個名為$variable_name 的變量,則可以使用參數(shù) 替換${parameter}來檢索關(guān)聯(lián)的變量值。

考慮以下變量聲明命令:

$ animal=lion

讓我們調(diào)用 animal 變量以嘗試將變量值復數(shù):

$ echo $animals   

在命令中聲明變量

在標準輸出中不會打印任何內(nèi)容,因為 Bash 不理解變量 $animals。但是,我們可以通過如下方式使用參數(shù)替換方法成功調(diào)用我們的$animals 變量:

$ echo ${animal}s

在命令中調(diào)用變量

在某些情況下,感嘆號可能會在參數(shù)替換實現(xiàn)的第一個左大括號之后出現(xiàn)。在這種情況下,就會出現(xiàn)變量間接的概念。

變量值優(yōu)先于參數(shù)值,如下所示:

$ animal=lion 
$ echo $animal
$ lion=rafiki
$ echo $lion
$ echo ${!animal}

參數(shù)值的優(yōu)先級?

責任編輯:趙寧寧 來源: Linux迷
相關(guān)推薦

2025-04-27 08:15:00

FlinkSavepointCheckpoint

2020-08-02 23:20:36

JavaScriptmap()forEach()

2022-09-02 09:02:44

TypeInterface

2021-03-27 10:56:17

promisethenfinally

2023-10-27 08:23:10

CookieWeb存儲

2023-11-14 14:13:52

SQLNoSQLCAP

2021-12-17 14:40:02

while(1)for(;;)語言

2024-03-05 18:59:59

前端開發(fā)localhost

2024-09-09 13:10:14

2022-08-02 08:23:37

SessionCookies

2024-05-27 00:40:00

2021-05-16 14:26:08

RPAIPACIO

2022-02-27 15:33:22

安全CASBSASE

2023-11-01 08:08:47

PythonIS運算符

2022-12-14 17:26:43

2020-03-09 20:56:19

LoRaLoRaWAN無線技術(shù)

2022-06-06 14:53:02

LoRaLoRaWAN

2022-09-07 18:32:57

并發(fā)編程線程

2020-11-09 14:07:53

PyQtQt編程

2022-09-08 18:38:26

LinuxWindowsmacOS
點贊
收藏

51CTO技術(shù)棧公眾號