[ $# -lt 2 ] || echo "At least 2 arguments are needed" && exit 1
verifica se o número de argumentos é estritamente menor que 2 e, se não , saem "Pelo menos 2 argumentos são necessários". Você precisa substituir o ||
por &&
:
[ $# -lt 2 ] && echo "At least 2 arguments are needed" && exit 1
Acho que o exemplo que você vinculou em Uma maneira segura de instalar o script .sh em / usr / local / bin? é realmente mais fácil de entender (e -ne
é mais adequado, pois ter mais de 2 argumentos é provavelmente um erro):
if [ $# -ne 2 ]; then
echo "Exactly 2 filenames are needed"
exit 1
fi
Note também que você não deveria especificar a extensão, então você deve executar o comando como
pdf2eps 1 ./01-02-2002-01-02-03