Linux運維中實用的Shell變數

一、特殊變數

1、$#: 命令行參數的個數。

2、$*: 命令行所有參數的內容,在全部參數作為一個字元串處理。

3、$@: 命令行所有參數的內容,在每個參數都作為一個字元串處理。

4、$0: 當前腳本名。

5、$?: 上一條命令的返回值。

6、$$: 當前腳本的進程號。

二、位置參數變數

1、$1, $2, ……$n: 命令行參數1、2、……n。

2、$0:當前腳本名。

三、環境變數

1、$HOME: 當前用戶的家目錄的完整路徑。

2、$PATH: 一組用 ‘:’ 分隔開的目錄,shell 在這些目錄中查找可執行文件

$ echo $HOME
/home/user

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

四、特殊字元

特殊字元,用來對字元串或命令行參數進行操作。

1、$: 取變數值的內容,如:$variable。

2、#:取字元或參數的長度,如:${#variable}。

3、%:從後向前刪除匹配的最小值字元,如:${variable%/*}。

4、%%:從後向前刪除匹配的最大值字元,如:${variable%%/*}。

5、/:替換字元串匹配的字元,如:${variable/old/new}。

6、//:替換字元串匹配的所有字元,如:${variable//old/new}。

五、共享變數

1、export: 用於將局部變數提升為全局變數。

#!/bin/bash
function func {
    local var1="hello"
    echo "var1 is ${var1}"
    echo "var2 is ${var2}"
}

export var2="world"
func

2、source: 執行腳本,使共享變數在當前 Shell 中生效。

#!/bin/bash
var1="hello"
export var2="world"
echo "var1 is ${var1}"
echo "var2 is ${var2}"

source test.sh
echo "var2 is ${var2}"

六、數組

數組能夠存儲多個值,並通過下標索引來訪問數組元素。

1、定義數組

myArray=(one two three four five)

2、訪問數組

echo ${myArray[0]}
echo ${myArray[*]}
echo ${#myArray[*]}

3、向數組中添加元素

myArray[5]="six"
myArray+=("seven")

4、數組的循環遍歷

for var in ${myArray[*]}
do
    echo ${var}
done

七、用戶自定義變數

1、set: 設置變數。

2、read: 讀取用戶輸入的內容到變數中。

read -t 5 -p "Enter name: " name

八、數組變數解釋器(declare)

declare命令可以設置變數的屬性,包括數組元素類型、只讀屬性、可重複賦值、調試屬性等。

1、定義只讀變數

readonly myVar="hello"

2、定義數組元素類型

declare -a myArray # 數字索引數組
declare -A myArray # 帶關聯鍵值的數組

3、定義整數變數

declare -i myInt=10

4、定義調試變數

declare -x myDebugVar="debug info"

九、總結

Shell變數在Linux運維中起著不可替代的作用,掌握了Shell變數的使用方法,對運維人員來說是非常重要的技能。上述涉及到的Shell變數是我們經常使用到的必備技能,靈活掌握這些變數的使用方法,可以有效地提高我們的工作效率。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193505.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 15:02
下一篇 2024-12-01 15:02

相關推薦

  • int類型變數的細節與注意事項

    本文將從 int 類型變數的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變數進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變數。 一、定義與聲明 int…

    編程 2025-04-29
  • Python input參數變數用法介紹

    本文將從多個方面對Python input括弧里參數變數進行闡述與詳解,並提供相應的代碼示例。 一、基本介紹 Python input()函數用於獲取用戶輸入。當程序運行到inpu…

    編程 2025-04-29
  • Shell腳本與Python腳本的區別

    本文將從多個方面對Shell腳本與Python腳本的區別做詳細的闡述。 一、語法差異 Shell腳本和Python腳本的語法存在明顯差異。 Shell腳本是一種基於字元命令行的語言…

    編程 2025-04-29
  • Python匿名變數的使用方法

    Python中的匿名變數是指使用「_」來代替變數名的特殊變數。這篇文章將從多個方面介紹匿名變數的使用方法。 一、作為佔位符 匿名變數通常用作佔位符,用於代替一個不需要使用的變數。例…

    編程 2025-04-29
  • Python變數在內存中的存儲

    該文章將從多個方面對Python變數在內存中的存儲進行詳細闡述,包括變數的聲明和賦值、變數的引用和指向、內存地址的變化、內存管理機制等。 一、聲明和賦值 在Python中,變數聲明…

    編程 2025-04-29
  • Python變數類型用法介紹

    Python是一種解釋型編程語言,它提供了豐富的數據類型,包括數字、字元串、列表、元組、集合、字典等。Python變數類型的定義是Python程序開發的基礎,本文將從以下幾個方面對…

    編程 2025-04-28
  • Python print輸出變數

    Python是一種腳本語言,語法簡單易懂,目前被廣泛應用於數據處理、人工智慧、web開發、遊戲開發等領域。其中print函數是Python中最常用的函數之一,用於將變數輸出到控制台…

    編程 2025-04-28
  • Python定義變數

    Python是一門高級編程語言,變數是Python編程中非常重要的一個概念。Python的變數定義方式非常簡單,可以在程序中隨時定義一個變數來存儲數據,這方便了整個程序的邏輯編寫,…

    編程 2025-04-28
  • Python中如何定義一個變數

    Python是一種高級編程語言,使用它您可以輕鬆地定義和操作變數。Python中的變數屬於動態類型變數,因此不需要在定義變數時指定其類型,而是在變數分配之前自動確定變數的數據類型。…

    編程 2025-04-28
  • Python每次運行變數加一:實現計數器功能

    Python編程語言中,每次執行程序都需要定義變數,而在實際開發中常常需要對變數進行計數或者累加操作,這時就需要了解如何在Python中實現計數器功能。本文將從以下幾個方面詳細講解…

    編程 2025-04-28

發表回復

登錄後才能評論