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

