后在终端运行此运行良好: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”'应该可以工作 –