Eu me deparei com este pedaço de código daqui :
#!/bin/bash
# ...
if [[ "${1-}" =~ ^-*h(elp)?$ ]]; then
echo "Usage..."
exit
fi
Entendo que isso imprime as informações de uso quando qualquer argumento como -h
, --help
, -help
, -------help
é passado.
Mas por que "${1-}"
e não apenas "${1}"
? O que o hífen faz?
A princípio pensei que poderia significar qualquer argumento da posição 1 em diante. Eu tentei e não, não era isso.
Então pensei que poderia ser um erro de digitação e o autor pretendia "${1-9}"
permitir todas as posições numéricas. Novamente, não funcionou, nem é um código válido.