精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

lhl545545 ? 來源:Linux迷 ? 作者:Linux迷 ? 2022-09-09 09:24 ? 次閱讀

Linux 這樣的基于 GNU 的操作系統依賴于一個名為 Bash 的命令語言解釋器或 Shell 來完成它們的大部分計算任務和目標。 BBash 是 Bourne Again Shell 的縮寫,Bunne Again Shell 是一個雙關的名稱,是對 Bourne Shell (即 Steven Bourne 發明)的致敬。在兼容性方面,Bash 和 sh 是絕配。C shell ( csh ) 和Korn shell ( ksh ) 中明顯的有用特性也包含在這個 shell 語言解釋器中。 在實現方面,Bash 旨在符合 IEEE POSIX 規范(IEEE 標準 1003.1)工具部分和 IEEE POSIX Shell。因此,作為一種交互式和編程工具,Bash 提供的功能改進勝過 sh 中的改進。 Linux 和其他基于 GNU 的操作系統的用戶不必僅僅依賴Bash作為他們的主要命令語言解釋器,因為像 csh 這樣的 shell 版本也預先打包在這些系統中。由于其獨特的 shell 屬性(如可移植性),Bash 僅配置為用作默認 Linux shell。

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

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

理解 $(命令)

$(command)在Bash中涉及命令替換。更具體地說,命令部分 in$(command)被執行,其輸出被捕獲并打印在標準輸出上。 背后的語法$(command)是令牌級別的。考慮執行以下命令,該命令旨在在終端上打印出當前日期。


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

a1bd470c-2fcf-11ed-ba43-dac502259ad0.png

在 Linux 中打印日期

上述執行可以用以下方式解釋。首先,執行 date 命令并將其輸出作為參數包含在 echo 命令中。 在這里,我們可以假設命令替換在重新包含在主 shell 之前在單獨的子 shell 中執行。

了解 ${parameter}

${parameter}在Bash中涉及參數替換。根據 Bash 手冊頁,參數是一個值存儲實體。參數實體可以與名稱、數字或特殊字符相關聯。 大括號{}暗示我們在處理位置參數,或者在使用的參數(參數值)后面是一個與參數名稱不相關的非解釋性字符,例如${animal}s。 至于位置參數,可以用一個或多個數字來表示(單個數字 0 除外)。因此,如果我們有一個名為$variable_name的變量,則可以使用參數 替換${parameter}來檢索關聯的變量值。 考慮以下變量聲明命令:


$ animal=lion

讓我們調用 animal 變量以嘗試將變量值復數:


$ echo $animals

a1d9ad20-2fcf-11ed-ba43-dac502259ad0.png在命令中聲明變量 在標準輸出中不會打印任何內容,因為 Bash 不理解變量 $animals。但是,我們可以通過如下方式使用參數替換方法成功調用我們的$animals 變量:


$ echo ${animal}s

a1e70e0c-2fcf-11ed-ba43-dac502259ad0.png在命令中調用變量 在某些情況下,感嘆號可能會在參數替換實現的第一個左大括號之后出現。在這種情況下,就會出現變量間接的概念。 變量值優先于參數值,如下所示:


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

a1f55a20-2fcf-11ed-ba43-dac502259ad0.png
參數值的優先級 希望本文能夠說明 Bash 中$()和${}之間的區別。 如果還有什么疑問與建議,請在下面的評論框里給我們留言。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11225

    瀏覽量

    208918
  • 終端
    +關注

    關注

    1

    文章

    1114

    瀏覽量

    29831
  • 解釋器
    +關注

    關注

    0

    文章

    103

    瀏覽量

    6494

原文標題:Bash 中的 ${} 和 $() 有什么區別

文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    詳解Linux Bash命令

    Bash 是一種相當強大的編程語言,而且也很容易上手。
    發表于 08-15 09:12 ?1595次閱讀

    開發人員必須具備的Bash腳本知識

    您可以使用 Bash 腳本自動執行各種任務。掌握基礎知識并開始您的 Bash 腳本之旅。
    發表于 09-27 09:09 ?418次閱讀

    如何在bash shell腳本中使用變量

    如果你使用編程語言編寫過程序,那么一定接觸過變量。而在 bash 腳本的編寫時,變量也是一個很重要的概念。今天我們分享一下如何在 bash 腳本中使用變量。
    發表于 12-02 16:32 ?2061次閱讀
    如何在<b class='flag-5'>bash</b> shell腳本中使用變量

    請問AD17的PCB文件怎么PADS中比較完整的打開?

    請問AD17的PCB文件 怎么才能在pads中比較完整的打開? 謝謝~
    發表于 03-19 01:31

    Linux之bash的主要介紹

    Again SHell(bash) - C SHell(csh) - KornSHell(ksh) - zsh各個shell的功能都差不太多,某些語法的下達下面有些區別,Linux預設就是bash。這里主要介紹
    發表于 07-11 06:53

    AI算法中比較常用的模型都有什么?

    AI算法中比較常用的模型都有什么
    發表于 08-27 09:19

    Delphi中比較GUID是否相等

    Delphi中比較GUID是否相等,CompareMem(@guid1, @guid2, SizeOf(TGUID)),最開始時想到的方法
    發表于 06-22 10:11 ?1694次閱讀

    高級Bash 腳本編程指南

    高級Bash 腳本編程指南
    發表于 10-26 08:33 ?7次下載
    高級<b class='flag-5'>Bash</b> 腳本編程指南

    目前深度學習中比較普及的“物件檢測”應用

    接下來的重點,就是目前深度學習中比較普及的“物件檢測”應用,重點主要有以下三部分: 1. 簡單說明“物件檢測”的內容。 2. 使用本項目的 detecnet 物件分類指令,進行多樣化的推理識別測試
    的頭像 發表于 06-09 15:46 ?1828次閱讀
    <b class='flag-5'>在</b>目前深度學習<b class='flag-5'>中比較</b>普及的“物件檢測”應用

    bash手冊

    本文簡要介紹了bashshell(版本:5.12020年12月21日)。這是GNU Bash參考手冊第5.1版,最后一次更新于2020年12月21日,對于Bash,版本5.1。
    發表于 08-04 17:45 ?3次下載

    bash中如何創建函數

    當你的 bash 腳本中代碼非常多的時候,會看起來很混亂,其中有部分代碼有可能是重復的。這個時候,可以使用函數來避免重復的代碼。
    的頭像 發表于 12-14 17:31 ?1140次閱讀

    Bash腳本中特殊變量$0是什么?

    Bash 腳本中,`$0` 是一個特殊變量,它代表當前腳本的路徑和名稱。這個變量用于表示腳本自身,它是 Bash 環境中的一個重要組成部分。`$0` 變量是一個只讀變量,無法更改。
    的頭像 發表于 05-12 14:41 ?1820次閱讀

    bash中如何進行各種文件重定向呢?

    本文會用以下測試程序,來演示bash中,如何進行各種文件重定向
    的頭像 發表于 08-25 09:31 ?1175次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>bash</b>中如何進行各種文件重定向呢?

    BASH shell腳本篇—函數

    函數是代碼重用的最重要方式。Bash函數可以定義為一組命令,bash腳本中多次調用。
    的頭像 發表于 10-20 16:31 ?1032次閱讀

    BASH shell腳本篇—文件處理介紹

    Bash Shell腳本中,可以使用多種方法來對文件進行操作,包括讀取文件或寫入文件。
    的頭像 發表于 10-23 16:51 ?579次閱讀