jcu*_*bic 0 command-line bash pdf
我正在尝试让我的简历构建脚本在 Ubuntu 上运行。我通常使用 Fedora 来构建它。每个页面都是用 SVG 编写的,我使用 Inkscape 生成 PDF,然后使用 pdfmerge 将这些页面合并为一个。
\n在 Ubuntu 上我找不到 pdfmerge 所以我想将其更改为 pdfunite。但该命令似乎不接受全局模式。它应该由 shell 处理:
\npdfunite pl/jakub-jankiewicz-cv-page{1,2,3}.pdf jakub-jankiewicz-cv-pl.pdf\nI/O Error: Couldn't open file 'pl/jakub-jankiewicz-cv-page{1,2,3}.pdf': No such file or directory.\nSyntax Error: Could not merge damaged documents ('pl/jakub-jankiewicz-cv-page{1,2,3}.pdf')\nmake: *** [Makefile:22: jakub-jankiewicz-cv-pl.pdf] B\xc5\x82\xc4\x85d 255\nRun Code Online (Sandbox Code Playgroud)\n这是我的 Makefile 中的代码:
\njakub-jankiewicz-cv-pl.pdf: pl/jakub-jankiewicz-cv-page1.pdf pl/jakub-jankiewicz-cv-page2.pdf pl/jakub-jankiewicz-cv-page3.pdf\n pdfunite pl/jakub-jankiewicz-cv-page{1,2,3}.pdf jakub-jankiewicz-cv-pl.pdf\nRun Code Online (Sandbox Code Playgroud)\n为什么我不能在 Ubuntu 上使用像 {1,2,3} 这样的全局模式?我有 Xubuntu 22.04 和 bash,5.1.16(1)-release相同的代码在 Fedora 上运行良好。
{1,2,3}不是一个全局模式- 它是一个大括号扩展。问题可能不是“bash 无法读取”它 - 而是该命令默认make使用 POSIX shell,在 Ubuntu 上它是符号链接的,而不是您的选项是:/bin/sh/bin/dash/bin/bash.
将大括号扩展更改为实际的(符合 POSIX 标准的)glob - 对于单个数字,这很简单,即pl/jakub-jankiewicz-cv-page[123].pdf
将 Makefile 中的 shell 更改为 bash,方法是添加SHELL := /bin/bash
另请参阅Makefile中Bash异常!。
| 归档时间: |
|
| 查看次数: |
161 次 |
| 最近记录: |