Shell-Script
在腳本中使用循環作為命令行參數
所以我正在嘗試將具有特定副檔名的文件排序到特定文件夾(使用者通過命令行參數選擇的文件夾)
讓我們說 $ 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
變數將採用輸入參數的連續值。注意"$@"
語法,這確保如果參數(文件名)包含空格,它們仍將作為一個單元處理。