に含めることができる関数に変換したいシェルスクリプトがあります.bashrc
。とは別に#!/bin/bash
、シェル スクリプトは次の関数の内容で構成されます。
pdfMerge () {
## usage
if [ $# -lt 1 ]; then
echo "Usage: `basename $0` infile_1.pdf infile_2.pdf ... outfile.pdf"
exit 0
fi
## main
ARGS=("$@") # determine all arguments
outfile=${ARGS[-1]} # get the last argument
unset ARGS[${#ARGS[@]}-1] # drop it from the array
exec gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOUTPUTFILE=$outfile "${ARGS[@]}" # call gs
}
既に実行されており、指定された pdf ファイルと Ghostscript を組み合わせています。ただし、関数が呼び出された後は、シェルは常に終了します (引数が指定されていない場合も同様です)。これはどのように修正できますか?