Shell-Script

在腳本中使用循環作為命令行參數

  • October 31, 2019

所以我正在嘗試將具有特定副檔名的文件排序到特定文件夾(使用者通過命令行參數選擇的文件夾)

讓我們說 $ 1 (.jpg) $ 2(.docx)等

該腳本一切正常,但我正在嘗試編寫一個循環,將這些文件分類到它們的文件夾中(只是簡單地基於它們的副檔名,所以.jpg 到 jpg 文件夾中,所以基本上mv .$1 $1)我怎樣才能編寫循環所以它會總是在命令行參數中添加+1,直到沒有更多的命令行參數(假設有5個),當沒有更多的參數時,只需將未分配的文件移動到選定的文件夾中?

這是我想做的

function sorting {
count = 1
while [ $count -le 5 ]; do
mv .$count $count
count=$((count +1))
done 
} 

然後我們嘗試在我使用排序的腳本中呼叫該函式

你不需要參數的索引……只要做

for file in "$@"
do
  # apply command to "$file"
done
# work here on remaining files in directory

$file變數將採用輸入參數的連續值。注意"$@"語法,這確保如果參數(文件名)包含空格,它們仍將作為一個單元處理。

引用自:https://unix.stackexchange.com/questions/549729