欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Bash 腳本中的特殊變量及應(yīng)用場景詳解

 更新時間:2025年06月17日 11:07:12   作者:追逐此刻  
這篇文章主要介紹了Bash 腳本中的特殊變量及應(yīng)用場景,本文給大家介紹的非常詳細(xì)對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

在 Bash 腳本和命令行中,?特殊變量?(Special Variables)主要用于獲取腳本或命令的上下文信息,如參數(shù)、進(jìn)程狀態(tài)、返回值等。以下是常見的特殊變量及其典型應(yīng)用場景:

?1. 腳本參數(shù)處理?

$0、$1、$2 ... $9、${10}...

  • ?作用?:獲取腳本或函數(shù)的參數(shù)。

?典型用途?:

# script.sh
echo "腳本名稱: $0"
echo "第一個參數(shù): $1"
echo "第二個參數(shù): $2"

?運(yùn)行示例?:

./script.sh hello world

?輸出?:

腳本名稱: ./script.sh
第一個參數(shù): hello
第二個參數(shù): world

$#

  • ?作用?:獲取傳遞給腳本或函數(shù)的參數(shù)個數(shù)。

?典型用途?:

if [ $# -eq 0 ]; then
    echo "錯誤:請?zhí)峁﹨?shù)!"
    exit 1
fi

$* 和 $@

  • ?作用?:獲取所有參數(shù)。
    • $*:所有參數(shù)合并成一個字符串("$1 $2 $3 ...")。
    • $@:每個參數(shù)單獨(dú)處理("$1" "$2" "$3" ...),適用于循環(huán)遍歷。

?典型用途?:

for arg in "$@"; do
    echo "參數(shù): $arg"
done

?2. 進(jìn)程和返回值?

$$

  • ?作用?:獲取當(dāng)前 Shell 或腳本的 ?PID(進(jìn)程 ID)?。

?典型用途?:

echo "當(dāng)前進(jìn)程 ID: $$"

?輸出?:

當(dāng)前進(jìn)程 ID: 12345

$?

  • ?作用?:獲取 ?上一條命令的退出狀態(tài)碼?(0 表示成功,非 0 表示失?。?。

?典型用途?:

grep "keyword" file.txt
if [ $? -ne 0 ]; then
    echo "未找到 keyword!"
fi

或者:

command || echo "命令執(zhí)行失?。?

$!

  • ?作用?:獲取 ?最后一個后臺運(yùn)行的進(jìn)程 PID。

?典型用途?:

sleep 10 &
echo "后臺進(jìn)程 PID: $!"

?3. 腳本自身信息?

$0

  • ?作用?:獲取 ?腳本名稱或 Shell 名稱

?典型用途?:

echo "當(dāng)前腳本: $0"

?輸出?:

當(dāng)前腳本: ./test.sh

$_

  • ?作用?:獲取 ?上一個命令的最后一個參數(shù)。

?典型用途?:

ls /usr/bin
echo "上一個命令的最后一個參數(shù): $_"

?輸出?:

/usr/bin
上一個命令的最后一個參數(shù): /usr/bin

?4. 通配符和擴(kuò)展?

$* 和 $@(在雙引號中的區(qū)別)

  • ?**"$*"**?:所有參數(shù)合并成一個字符串("$1 $2 $3")。
  • ?**"$@"**?:每個參數(shù)單獨(dú)處理("$1" "$2" "$3"),適用于循環(huán)遍歷。

?典型用途?:

for arg in "$@"; do
    echo "參數(shù): $arg"
done

?5. 其他特殊變量?

$RANDOM

  • ?作用?:生成 ?隨機(jī)數(shù)(0-32767)?。

?典型用途?:

echo "隨機(jī)數(shù): $RANDOM"

$SECONDS

  • ?作用?:獲取 ?腳本運(yùn)行時間(秒)?。

?典型用途?:

sleep 3
echo "運(yùn)行時間: $SECONDS 秒"

?總結(jié)?

變量作用典型用途
$0腳本名稱獲取當(dāng)前腳本名
$1-$9腳本參數(shù)處理命令行參數(shù)
$#參數(shù)個數(shù)檢查參數(shù)數(shù)量
$*所有參數(shù)(合并)整體處理參數(shù)
$@所有參數(shù)(獨(dú)立)循環(huán)遍歷參數(shù)
$?上一條命令的返回值檢查命令是否成功
$$當(dāng)前進(jìn)程 PID記錄進(jìn)程 ID
$!最后一個后臺進(jìn)程 PID管理后臺任務(wù)
$_上一個命令的最后一個參數(shù)快速引用參數(shù)
$RANDOM隨機(jī)數(shù)生成隨機(jī)值
$SECONDS腳本運(yùn)行時間計時

這些特殊變量在 ?腳本參數(shù)處理、錯誤檢查、進(jìn)程管理、日志記錄? 等場景中非常有用,熟練掌握它們可以大幅提升 Bash 腳本的編寫效率! 

到此這篇關(guān)于Bash 腳本中的特殊變量的文章就介紹到這了,更多相關(guān)Bash特殊變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論