crop.sh:第 3 行:意外标记 `(' 附近的语法错误 crop.sh:第 3 行:`foreach 文件 (`ls *.pdf`)'
crop.sh: line 3: syntax error near unexpected token `(' crop.sh: line 3: `foreach file (`ls *.pdf`)'
接下来,我写了我的 bash 文件,crop.sh。但是,当我在 windows 中 运行 时出现此错误。我用的是赛格温。我还安装了 git 并使用了 mingw64。我搜索了很多但无法解决这个问题。
#!/bin/csh
foreach file (`ls *.pdf`)
pdfcrop --ini $file $file
end
错误信息是:
crop.sh: line 3: syntax error near unexpected token `('
crop.sh: line 3: `foreach file (`ls *.pdf`)'
危险,威尔·罗宾逊。人们普遍认为 csh is considered harmful.
就是说,您可以 (SHOULD!) 使用 glob 而不是解析 ls 的输出,无论您的 shell 是什么。我没有看到你的文件名,但我怀疑问题可能是文件名中的非标准字符。
相反,试试这个:
#!/bin/csh
foreach file ( *.pdf )
pdfcrop --ini "$file" "$file"
end
或者更好,在 POSIX shell:
中完成
#!/bin/sh
for file in *.pdf; do
pdfcrop --ini "$file" "$file"
done
您使用了 bash
标签并提到了 bash
,但您的代码是 csh
。不确定您是否需要 bash
解决方案,或修复您的 csh,但您当然可以这样做:
#!/bin/bash
for file in *.pdf; do
pdfcrop --ini "$file" "$file"
done
由于 csh
通常被认为不适合编写脚本,这可能是一个不错的选择。
接下来,我写了我的 bash 文件,crop.sh。但是,当我在 windows 中 运行 时出现此错误。我用的是赛格温。我还安装了 git 并使用了 mingw64。我搜索了很多但无法解决这个问题。
#!/bin/csh
foreach file (`ls *.pdf`)
pdfcrop --ini $file $file
end
错误信息是:
crop.sh: line 3: syntax error near unexpected token `('
crop.sh: line 3: `foreach file (`ls *.pdf`)'
危险,威尔·罗宾逊。人们普遍认为 csh is considered harmful.
就是说,您可以 (SHOULD!) 使用 glob 而不是解析 ls 的输出,无论您的 shell 是什么。我没有看到你的文件名,但我怀疑问题可能是文件名中的非标准字符。
相反,试试这个:
#!/bin/csh
foreach file ( *.pdf )
pdfcrop --ini "$file" "$file"
end
或者更好,在 POSIX shell:
中完成#!/bin/sh
for file in *.pdf; do
pdfcrop --ini "$file" "$file"
done
您使用了 bash
标签并提到了 bash
,但您的代码是 csh
。不确定您是否需要 bash
解决方案,或修复您的 csh,但您当然可以这样做:
#!/bin/bash
for file in *.pdf; do
pdfcrop --ini "$file" "$file"
done
由于 csh
通常被认为不适合编写脚本,这可能是一个不错的选择。