Shell 中 $ 關於指令碼引數的幾種用法

晓枫的春天發表於2024-03-22

基本語法

  • $n (功能描述:n為數字,$0代表該指令碼名稱,$1-$9代表第一到第九個引數,十以上的引數,十以上的引數需要用大括號包含,如${10})
  • $# (功能描述:獲取所有輸入引數個數,常用於迴圈)。
  • $* (功能描述:這個變數代表命令列中所有的引數,$*把所有的引數看成一個整體)
  • $@ (功能描述:這個變數也代表命令列中所有的引數,不過$@把每個引數區分對待)

應用示例

[hui@hadoop103 sh]$ cat  args.sh
#!/bin/sh

#下面使用 $n 輸出一些資訊
# $0 輸出當前指令碼名稱
# $1 輸出第一個引數
# $2 輸出第2個引數
echo "$0 $1 $2"
# $# 輸出擦書個數
echo $#
# 輸出所有入參 
echo $*
# 輸出所有入參 
echo $@

效果

[hui@hadoop103 sh]$ sh args.sh 令狐沖 yil 3
args.sh 令狐沖 yil
3
令狐沖 yil 3
令狐沖 yil 3

相關文章