不像Python那樣方便,需要先定義一個變數,用來當數組下標;如下: c=0 for file in do filelist[$c]=$file ((c++)) done 如果想讀取數組內容,可以使用for迴圈: for image_name in ${filelist[@]} do if [[ $ ...
不像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.comecho "-- $* 演示 ---"
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