日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在Shell腳本中,$符號有多種含義,它通常用于表示變量、特殊變量或參數,今天介紹幾個特殊的變量。

  • $0表示shell腳本文件本身
  • $1 ~ $n腳本的位置參數,表示腳本或函數的參數。例如,$1表示第一個參數,$2表示第二個參數,依此類推
  • $#傳遞給腳本或函數的參數個數
  • $@傳遞給腳本或函數的所有參數的列表,每個參數是一個獨立的單詞
  • $?表示上一個命令的退出狀態,如果為0表示成功,非零值表示失敗
  • $$表示當前腳本或進程的進程ID
  • $!表示后臺運行的最后一個進程的進程ID
  • $*表示所有傳遞給腳本的參數列表(位置參數),并將它們作為一個單詞顯示
  • $-用于顯示當前Shell的選項設置

當運行 echo $- 時,它會輸出一個包含不同字母的字符串:

# echo $-
himBH

每個字母的含義如下:

  • h: 啟用hash命令功能,用于記住命令的路徑,以加快命令的查找速度。
  • i: 啟用Shell的交互模式。
  • m: 啟用作業控制的多用戶模式。
  • B: 啟用通知作業完成狀態的功能。
  • H: 啟用Shell歷史功能。

因此,himBH 表示這個Shell當前啟用了 hash、交互模式、多用戶模式、作業狀態通知和歷史功能。這些選項可以根據腳本或Shell的需要進行配置

注意:$* 和 $@ 在大多數情況下表現相似,但在處理引號時有一些關鍵的區別。

[root@localhost]# cat b.sh && bash b.sh 
# 使用 "$*" 和 "$@"
set -- "arg1" "arg2 with space" "arg3"

echo 'Using "$*"'
for arg in "$*"; do
    echo $arg
done

echo 'Using "$@"'
for arg in "$@"; do
    echo $arg
done

Using "$*"
arg1 arg2 with space arg3
Using "$@"
arg1
arg2 with space
arg3

在"$*"中,所有參數被當作單個字符串,參數之間用第一個字符(默認是空格)分隔。而在"$@"中,每個參數都被當作獨立的字符串。

在實際使用中,如果希望參數原封不動的傳遞出去,可能更適合使用"$@",它以類似數組的方式表示傳遞給腳本的所有參數。

分享到:
標簽:Shell
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定