Significado das variáves $?, $0 , $1 ,$2 ....
A variável de interrogação é para saber se o comando anterior funcionou ou não
tar -xvf iop
tar: iop: Função open falhou: Arquivo ou diretório inexistente
tar: Error is not recoverable: exiting now
Comando apresentou um erro. Agora vamos ver com o comando echo oque está contido na variável "echo $?" =2
tar -xvf name_package.tar.gz
Agora o comando funcionou vamos verificar "echo $?" = 0
Sabendo disso podemos usar if para fazer a verificação e executar um comando dependendo se for diferente de 0 ou não com o parâmetro -gt
if [ $? -gt 0 ]
then
echo Deu erro
else
echo Funcionou
fi
# If vai fazer a verificação através do parâmetro -gt que se a variável $? for diferente de 0 executa o comando 1 se for 0=0 executa o comando 2=funcionou.
A variável zero serve para mostrar oque você está executando neste momento por exemplo você abre o terminal e executa $0 vai mostrar em qual shell você está. Pode botar isso em um script por exemplo para se auto executar:
for i in $@
do
case $i in
-d)
sleep 1 && printf "\033c"&& sensors
;;
esac
done
# Know processor model
#cat /proc/cpuinfo | grep "model name"
loop="$(echo $0)"
bash $loop -d
A variável $1 ,$2 ... é a numeração de argumentos.
for x in $1
do
echo $x
done
Neste exemplo acima por exemplo você digita do lado do script e vai mostrar seu primeiro comando no momento que colocar outro comando ele não faz a leitura porque está programado para só ler o primeiro comando=$1.
Comentários
Postar um comentário