我有一个从终端运行时可以完美运行的 shell 脚本
sh script.sh [name_of_the_pdf_.pdf]
该脚本读取给定 .pdf 的文件名,并从文件名的第一个字符中设置一些变量:
例如,以下变量从文件名中读取前两个字符并将它们存储为变量:
VAR_ENDPAGE=${1:0:2}
然后脚本从命令行运行一个 java 程序,从这些存储的变量中传递参数:
java -jar jpdftweak.jar -i7-"${VAR_ENDPAGE[@]}" $1 -output ~/OUTPUTFILE.pdf
假设[name_of_the_pdf.pdf]=2350.pdf
生成的命令是:
java -jar jpdftweak.jar -i7-23 $1 -output ~/OUTPUTFILE.pdf
问题是当我在鸭嘴兽中使用这个脚本时。我创建了一个 Droplet,当我删除“2350.pdf”文件时,程序使用该文件作为$1
参数运行脚本。一切似乎都很好,但似乎无法正确创建变量。例如,上面的变量返回:/U
,所以命令是:
java -jar jpdftweak.jar -i7-U/ $1 -output ~/OUTPUTFILE.pdf
剧本完全一样。所以错误是在变量设置过程中。我尝试使用反引号,但似乎一切正常……</p>
这U/
是从哪里来的?