私はBashを初めて使用するので、これは些細なことかもしれませんが、理解できません。ファイル名内のスペースをエスケープしようとしています。見てください。これは「実際の例」であることに注意してください。空白ページを含むファイルをインターリーブする方が簡単かもしれませんが、スペースについてここにいます。
#! /bin/sh
first=true
i=combined.pdf
o=combined2.pdf
for f in test/*.pdf
do
if $first; then
first=false
ifile=\"$f\"
else
ifile=$i\ \"$f\"
fi
pdftk $ifile blank.pdf cat output $o
t=$i
i=$o
o=$t
break
done
my file.pdf
(スペースを含む)というファイルがあるとします。pdftk がそれを2combined.pdf "my file.pdf"
つのファイル引数として使用できるように、ifile 変数に文字列を含める必要があります。combined.pdf
my file.pdf
さまざまなエスケープ方法を試しましたが(最初に引用符自体をエスケープするかどうかなど)、pdftkを実行するmy
と分割され続けます。file.pdf
編集:明確にするために:1つの変数で複数のファイル名を(複数の引数として)pdftkコマンドに渡そうとしています。2 つのファイル名の違いを認識したいのですが、スペースで 1 つのファイル名を引き裂かないでください。