在正则表达式

时间:2016-03-24 04:30:25

标签: bash ssh

我试图调用bash脚本传递标志,如下所示:

bash pdfgrep.ssh "STRING TO SEARCH" "FOLDER_TO_SCAN/*"

脚本:

pdfgrep -H "$1" "$2"

这导致:

poppler/error: Couldn't open file 'FOLDER_TO_SCRAN/*'

任何想法为什么?

1 个答案:

答案 0 :(得分:1)

引用变量$2时,会阻止shell扩展通配符。所以你需要这样做:

pdfgrep -H "$1" $2

但是,如果文件夹名称包含空格,则会出现问题,因为它也会进行单词拆分。如果你允许原始shell扩展通配符,最好不要引用脚本的参数:

bash pdfgrep.ssh "STRING TO SEARCH" FOLDER_TO_SCAN/*

然后你需要更改脚本,以便将所有参数传递给pdfgrep,而不仅仅是前两个:

pdfgrep -H "$@"

现在我不确定剧本的重点是什么。它只是将-H选项插入到开头,而不是键入bash pdfgrep.ssh