對於shell指令碼引數獲取時的一點小技巧

2022-07-30 01:45:12 字數 756 閱讀 1811

問題如下:

根據指令碼引數的個數$#進行乙個迴圈,在依次輸出每個引數$1 $2 $3......

我有乙個迴圈變數i

$i 取到這時的i為1,我想使用這個1再去呼叫$1,也是就是列印出第乙個引數

就是$($i)的意思來取到第幾個引數,當然$($i)是不好用的

1)
#!/bin/sh

number=$#

echo

$number

i=1while [ $i -le $number ]

doa[$i]=$1 #將陣列a[i]賦值為$1,即取得到第乙個引數並將值存入a[1

]    

echo

$    ((i++)) #陣列後移一位,變為a[2]  

shift

#使用shift命令將引數後移一位,即此時的$1為第二個引數

done

資料都存在了陣列 a[key] 裡了

$  key 是 第幾位   例如:a[1] 值為 $1

2)

#!/bin/bash

a=($@) #由$@取到所有引數,並將引數存入a

for i in $;do

#使用i在各個引數中迴圈

echo

$idone

來自:

Shell指令碼 引數

我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為 n。n代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推 以下例項我們向指令碼傳遞三個引數,並分別輸出,其中 0為執行的檔名 bin bash author 菜鳥教程 url www.r...

訪問Shell指令碼引數

所謂的位置引數 positional parameters 指的也就是shell指令碼的命令列引數 command line arguments 在shell函式裡,它們同事也可以是函式的引數。各引數都由整數來命名。基於歷史的原因,當它超過9,就應該用大括號把數字框起來 echo first arg...

Shell指令碼引數含義

a file 如果 file 存在則為真。b file 如果 file 存在且是乙個塊特殊檔案則為真。c file 如果 file 存在且是乙個字特殊檔案則為真。d file 如果 file 存在且是乙個目錄則為真。e file 如果 file 存在則為真。f file 如果 file 存在且是乙個...