Bashスクリプトでは、ImageMagickの変換コマンドを使用していくつかの画像処理を実行しています。
書き込み変換用の一時的なgifファイルを生成します。
変換では、ターゲットファイルがgifファイルであることがわかるように、ファイル拡張子は.gifでなければなりません。
Ubuntu 12.04では、以下が正常に動作します。
mktemp /tmp/pre_XXXXXXXXXX.gif
ただし、Mint 9 Isadoraでは次のエラーが発生します。
mktemp: too few X's in template
Xをいくら押しても同じエラーが発生します。これは、「.gif」サフィックスを削除した場合にのみ解決されます。
なぜそんなことですか?ミントはUbuntuベースではありませんか?
答え1
mktemp
標準コマンドではなく、機能とオプションはシステムによって大きく異なります(システムにmktempコマンドがある場合)。あなたがmktemp
受け入れるものを知る唯一の方法は、そのシステムのマニュアルを読むことです。
.gif
とにかく、結果がgifファイルでなければならないことをimagemagickに知らせるために拡張は必要ありません。
$ tmpfile=$(mktemp /tmp/pre_XXXXXX)
$ convert rose: "gif:$tmpfile"
$ file "$tmpfile"
/tmp/pre_MDDsuZ: GIF image data, version 89a, 70 x 46