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

Postagens mais visitadas deste blog

Script precisa do sudo para dar a permissão ao um comando fazer algo ....

Variável de { . Variável de matriz

Filtragem de strings no terminal