在 Bash 脚本中,我使用 ImageMagick 的转换命令进行一些图像处理。
我生成一个临时 gif 文件以供转换以写入。
我确实需要该文件具有 .gif 扩展名,因此 Convert 知道目标文件应该是 gif 文件。
在 Ubuntu 12.04 中,以下工作正常:
mktemp /tmp/pre_XXXXXXXXXX.gif
但在 Mint 9 Isadora 中我收到以下错误:
mktemp: too few X's in template
无论我向它抛出多少个 X,它都会产生相同的错误,只有当我删除“.gif”后缀时才能修复该错误。
这是为什么 ? Mint不是基于Ubuntu的吗?
答案1
mktemp
不是标准命令,并且系统之间的功能和选项差异很大(如果系统甚至有 mktemp 命令)。了解您mktemp
接受什么的唯一方法是阅读相关系统的手册。
无论如何,您不需要.gif
扩展名来告诉 imagemagick 结果应该是 gif 文件。
$ tmpfile=$(mktemp /tmp/pre_XXXXXX)
$ convert rose: "gif:$tmpfile"
$ file "$tmpfile"
/tmp/pre_MDDsuZ: GIF image data, version 89a, 70 x 46