我正在编写一个脚本,要求我使用未评估的*
。
这是我尝试过的:
show() {
for file in $(find . -name $1); do
echo $file
done
}
如果我运行show *.pdf
,代码将仅查找当前目录中的PDF,并将其传递到find . -name
。
我需要的是将通配符转移到find
未评估的值,以便它在当前文件夹中递归查找PDF。
我目前的解决方案涉及这样做:
show() {
for file in $(find . -name "*$1"); do
echo $file
done
}
这让我写show .pdf
,这很好,除了几乎所有允许通配符使用*
运算符的bash命令。因此,为了使其与系统的其他部分保持一致。
我有办法做到这一点吗?我正在解决这个问题。
我也尝试了show "*.pdf"
,但结果完全相同。
注意:当我可以让它运行find . -name "*.pdf"
时,我只是回应结果可能看起来很奇怪。这是真的,但这是更大脚本的第一步。我希望在继续之前让这个工作。