Gostaria de saber se posso usar comentários entre o nome da função do script de shell POSIX e seu corpo? Isso parece não causar problemas no shellcheck e roda em Dash/Bash, mas ao procurar por essa informação, não encontrei nada útil.
Exemplo de funções de shell:
is_int()
# POSIX [bool] function to test one variable for an integer.
{
case "${1#[+-]}" in
(*[!0123456789]*) return 1 ;;
('') return 1 ;;
(*) return 0 ;;
esac
}
is_uint()
# POSIX [bool] function to test one variable for an unsigned integer.
{
case "$1" in
([+-]*) return 1 ;;
esac
is_int "$1"
}
Algum shell teria algum problema com isso? Eu não gostaria que isso prejudicasse a portabilidade de alguns dos meus scripts.
Atenção, eu só uso isso recentemente e como comecei a usar o VS Codium ele suporta blocos de função colapsando assim:
Obrigado.
PS: Gosto mais dos comentários descrevendo funções nos meus scripts de shell dessa forma do que de ter o comentário acima f()
do nome do . É apenas uma questão cosmética e, portanto, por favor, evite discutir o "Por que não?" acima do nome da função. Obrigado!
Acho que é válido. A gramática do shell POSIX define uma função como
Assim, você pode ter qualquer número de quebras de linha, incluindo zero, entre
()
e o corpo da sua função.E, para reconhecimento de token :
Eu interpreto isso da seguinte forma: isto
é equivalente a
e, portanto, válido.