不像Python那樣方便,需要先定義一個變數,用來當陣列下標;如下:
c=0
for file in `ls $dir`
do
filelist[$c]=$file
((c++))
done
如果想讀取陣列內容,可以使用for回圈:
for image_name in ${filelist[@]}
do
if [[ ${image_name} =~ 'tar' ]]
then
docker load < $image_name
fi
done
參考自菜鳥教程
$* 與 $@ 區別:
-
相同點:都是參考所有引數,
-
不同點:只有在雙引號中體現出來,假設在腳本運行時寫了三個引數 1、2、3,,則 " * " 等價于 "1 2 3"(傳遞了一個引數),而 "@" 等價于 "1" "2" "3"(傳遞了三個引數),
!/bin/bash
author:菜鳥教程
url:www.runoob.com
echo "-- $* 演示 ---"
for i in "$*"; do
echo $i
doneecho "-- $@ 演示 ---"
for i in "$@"; do
echo $i
done
執行腳本,輸出結果如下所示:
$ chmod +x test.sh
$ ./test.sh 1 2 3
-- $* 演示 ---
1 2 3
-- $@ 演示 ---
1
2
3
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/161994.html
標籤:Linux
上一篇:docker build提示error checking context:can't stat xxx
下一篇:[轉]linux多命令的順序執行
