Quando se trata de escrever scripts de shell, é importante não apenas se concentrar na funcionalidade, mas também na prevenção de erros. Uma das maneiras de fazer isso é verificar se os argumentos fornecidos ao script estão corretos.
Verificar argumentos é uma prática recomendada porque ajuda a evitar erros e falhas inesperadas no script. Neste artigo, vamos explorar algumas técnicas para verificar argumentos no shell script.
Verificando o número de argumentos
Uma das primeiras coisas que você pode fazer é verificar se o número de argumentos fornecidos é o esperado. Por exemplo, se o seu script espera dois argumentos, você pode usar a variável $#
para verificar quantos argumentos foram fornecidos.
#!/bin/bash
if [ $# -ne 2 ]; then
echo 'Este script requer dois argumentos.'
exit 1
fi
# Resto do script...
Neste exemplo, se o número de argumentos não for igual a 2, uma mensagem de erro será exibida e o script será encerrado.
Verificando a existência de argumentos
Além de verificar o número de argumentos, você também pode verificar se os argumentos existem. Isso é útil quando você precisa garantir que determinados argumentos sejam fornecidos.
#!/bin/bash
if [ -z $1 ] || [ -z $2 ]; then
echo 'Este script requer dois argumentos.'
exit 1
fi
# Resto do script...
Neste exemplo, se o primeiro ou o segundo argumento estiverem vazios, uma mensagem de erro será exibida e o script será encerrado.
Verificando o tipo de argumentos
Além de verificar a existência e o número de argumentos, você também pode verificar o tipo de argumentos fornecidos. Isso é útil quando você precisa garantir que os argumentos sejam do tipo correto.
#!/bin/bash
if [ ! -f $1 ]; then
echo 'O primeiro argumento deve ser um arquivo.'
exit 1
fi
# Resto do script...
Neste exemplo, se o primeiro argumento não for um arquivo, uma mensagem de erro será exibida e o script será encerrado.
Conclusão
Verificar argumentos no shell script é uma prática importante para prevenir erros e falhas. Ao verificar o número, a existência e o tipo de argumentos fornecidos, você pode garantir que seu script funcione corretamente e evite comportamentos inesperados.