Shell中${}的多種用法小結(jié)
解釋
在Shell腳本中,${} 是一種變量替換語法。它用于獲取和操作變量的值。
具體來說,${} 可以用來執(zhí)行以下操作:
變量引用:${variable} 表示引用變量 variable 的值。
變量默認(rèn)值:${variable:-default_value} 表示如果變量 variable 為空或未設(shè)置,則使用 default_value 作為其值。
變量存在性檢查:${variable:+value_if_exists} 表示如果變量 variable 存在且非空,則使用 value_if_exists 作為其值。
變量長度獲?。?{#variable} 表示獲取變量 variable 的長度。
字符串截?。?{variable:start:length} 表示從變量 variable 的 start 位置開始截取長度為 length 的子字符串。
字符串替換:${variable/pattern/replacement} 表示將變量 variable 中匹配 pattern 的部分替換為 replacement。
代碼
#!/bin/bash # 變量引用示例 name="Alice" echo "Hello, ${name}!" # 輸出:Hello, Alice! # 變量默認(rèn)值示例 unset age default_age=18 echo "Age: ${age:-$default_age}" # 輸出:Age: 18,因?yàn)樽兞?age 未設(shè)置,默認(rèn)使用 $default_age 的值 # 變量存在性檢查示例 name="Bob" echo "Welcome, ${name:+$name}" # 輸出:Welcome, Bob,因?yàn)樽兞?name 存在且非空 # 變量長度獲取示例 message="Hello, World!" echo "Message length: ${#message}" # 輸出:Message length: 13 # 字符串截取示例 string="abcdefg" echo "Substring: ${string:1:3}" # 輸出:Substring: bcd,從位置 1 開始截取長度為 3 的子字符串 # 字符串替換示例 string="Hello, world!" echo "Replace: ${string/world/China}" # 輸出:Replace: Hello, China!,將字符串中的 "world" 替換為 "China"
到此這篇關(guān)于Shell中${}的多種用法小結(jié)的文章就介紹到這了,更多相關(guān)Shell ${}內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
linux實(shí)現(xiàn)解壓.tar.gz文件的示例詳解
這篇文章主要為大家詳細(xì)介紹了linux實(shí)現(xiàn)解壓.tar.gz文件的相關(guān)知識,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-08-08寫一個(gè)shell腳本實(shí)現(xiàn)視頻處理
Linux和Unix都擁有很多能夠處理圖像和視頻文件的應(yīng)用程序和工具,下面這篇文章主要給大家介紹了關(guān)于如何寫一個(gè)shell腳本來實(shí)現(xiàn)視頻處理的相關(guān)資料,需要的朋友可以參考下2022-07-07shell腳本自動(dòng)輸入用戶名和密碼的實(shí)現(xiàn)
本文主要介紹了shell腳本自動(dòng)輸入用戶名和密碼的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Shell腳本實(shí)現(xiàn)自動(dòng)發(fā)送郵件的例子
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)自動(dòng)發(fā)送郵件的例子,使用.muttrc文件配合shell腳本實(shí)現(xiàn),需要的朋友可以參考下2014-08-08Linux shell傳遞參數(shù)實(shí)現(xiàn)原理及代碼實(shí)例
這篇文章主要介紹了Linux shell傳遞參數(shù)實(shí)現(xiàn)原理及代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08Impala-shell命令參數(shù)的實(shí)現(xiàn)
這篇文章主要介紹了Impala-shell命令參數(shù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Shell腳本中使用for循環(huán)和cat命令實(shí)現(xiàn)按順序合并文件
這篇文章主要介紹了Shell腳本中使用for循環(huán)和cat命令實(shí)現(xiàn)按順序合并文件,本文先是用sed命令來實(shí)現(xiàn),發(fā)現(xiàn)不能完成需求,后使用for循環(huán)解決,需要的朋友可以參考下2015-01-01Shell腳本注冊到Linux系統(tǒng)服務(wù)實(shí)例
這篇文章主要介紹了Shell腳本注冊到Linux系統(tǒng)服務(wù)實(shí)例,本文給出一個(gè)可以作為Linux服務(wù)的腳本實(shí)例,及加入服務(wù)的方法等步驟,需要的朋友可以參考下2015-05-05Shell實(shí)現(xiàn)的一些數(shù)學(xué)運(yùn)算自定義函數(shù)分享
這篇文章主要介紹了Shell實(shí)現(xiàn)的一些數(shù)學(xué)運(yùn)算自定義函數(shù)分享,本文的一些函數(shù)主要重寫了加減乘除算法,需要的朋友可以參考下2014-12-12