我正在使用 Linux 命令,该命令使用 Ghostscript 将 pdf 从 100% 缩放到 90% 缩放。此命令在 Linux 提示符下可以正常工作:
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=sam1.pdf -c "<< /BeginPage{0.9 0.9 scale 30.6 39.6 translate}>> setpagedevice" -sPAPERSIZE=letter -dCompatibilityLevel="1.3" -dPDFSETTINGS="/printer" -dSubsetFonts=true -dEmbedAllFonts=true -f 2138WH.pdf
但是,我正在尝试将其编码为来自他们的 ERP 软件(在 SCO 机器上运行)的调用,该软件需要在 Linux 机器上运行代码。我在处理引号、双引号等方面遇到了困难。我尝试在每个引号前面加上\"但没有成功。我想我需要使用 eval 命令,但我不确定。关于需要做什么的任何想法?这是我所做的最新更改:
eval ssh root@linux \""cd /submittals;gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=/submittals/012606-003e.pdf -c \""<</BeginPage{0.9 0.9 scale 30.6 39.6 translate}>> setpagedevice\"" -sPAPERSIZE=letter -dCompatibilityLevel=\""1.3\"" -dPDFSETTINGS=\""/printer\"" -dSubsetFonts=true -dEmbedAllFonts=true -f /submittals/012606-003b.pdf\""
最佳答案
eval 是不必要的并且没有帮助(在这种情况下),因为它为您的问题添加了额外的反引号层。
ssh root@linux "cd /submittals;gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=/submittals/012606-003e.pdf -c \"<</BeginPage{0.9 0.9 scale 30.6 39.6 translate}>> setpagedevice\" -sPAPERSIZE=letter -dCompatibilityLevel=\"1.3\" -dPDFSETTINGS=\"/printer\" -dSubsetFonts=true -dEmbedAllFonts=true -f /submittals/012606-003b.pdf"
我还没有对此进行测试,但从肉眼看来,它看起来是正确的。
关于linux - 我遇到双引号和 eval 命令的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24688991/