後在終端運行此運行良好:for循環bash腳本退出處理一線
for a in *.pdf; do mv "$a" "$a".tmp; done
運行這個bash腳本(#!/bin/bash
)
for a in "$1"; do mv "$a" "$a".tmp; done
裏面......並傳遞參數*.pdf
,即./myscript *.pdf
,該腳本僅處理目錄中的第一個文件。通過更改mv
到echo
進行的測試顯示了同樣的結果。
任何解釋爲什麼這是如此,以及如何使它能夠處理所有文件匹配?謝謝!
shell將已經擴大'* .pdf'和通在myscript的pdf列表中。如果你想把字符串'* .pdf'傳遞給你的腳本,你將不得不引用或轉義它。 './myscript「* .pdf」'應該可以工作 –