A diferença entre as versões que você deu são apenas nomes de arquivos / argumentos diferentes.
Diferenciar variantes de mais ou menos o mesmo código com " ifdef
" - estruturas semelhantes geralmente não é o melhor caminho, pois leva a
código dificilmente sustentável e duplicado.
Em seu exemplo, você pode, por exemplo, usar variáveis de shell (e uma pequena cláusula if ... ; then
) para alternar entre duas variantes:
#call the script with -2 to switch to the second version.
if [ "$1" = "-2" ]; then
firstfile="newblank.pdf"
secondfile="newblank2.pdf"
else
firstfile="blank.pdf"
secondfile="blank2.pdf"
fi
echo "" | ps2pdf -sPAPERSIZE=a4 - "$infile"
cp "$firstfile" "$secondfile"
pdftk \
"A=$firstfile" '#first file' \
"B=$secondfile" '#second file' \
cat A B \
output b.pdf
Se você quiser ter várias chamadas do mesmo código com apenas pequenas alterações, considere definir functions
e chame-os
com argumentos diferentes.