Cada comando executado em shell tem um codigo de retorno, útil em script para conferir se falhou ou foi executado com sucesso, este resultado fica armazenado na variavel $?, ele muda a cada comando, tanto faz se foi na linha de comando ou dentro do script, atualizado a cada comando, echo $? exibe o resultado do ultimo comando, retornando:
0 (zero) significa que o comando anterior foi executado com sucesso.
1 (um) e qualquer valor diferente de zero ( != 0) indica que ocorreu algum erro.
2 erro nos comandos do script, geralmete erro de sintaxe, digitação,
127 = command not found, quando digita comando não existente.
1 (um) e qualquer valor diferente de zero ( != 0) indica que ocorreu algum erro.
2 erro nos comandos do script, geralmete erro de sintaxe, digitação,
127 = command not found, quando digita comando não existente.
cat /tmp/testar #!/bin/bash mkdir /tmp/teste if [ $? -eq 0 ];then echo $? echo "comando executado com sucesso!" else echo $? echo "falha na execução do comando." exit fi
<-------------------------------------------------------------------------------------------------->
Test
Agora, vamos falar de alguns parâmetros legais do comando test - muito utilizado em shell script.
test -r Testa se tem permissão de leitura
test -w Testa se tem permissão de escrita
test -x Testa se tem permissão de execução
test -f Testa se é um arquivo regular
test -d Testa se é um diretório
test -u Testa se seu SUID está ativado
test -g Testa se seu SGID está ativado
test -s Testa se seu tamanho é maior que zero
test -r Testa se tem permissão de leitura
test -w Testa se tem permissão de escrita
test -x Testa se tem permissão de execução
test -f Testa se é um arquivo regular
test -d Testa se é um diretório
test -u Testa se seu SUID está ativado
test -g Testa se seu SGID está ativado
test -s Testa se seu tamanho é maior que zero
#!/bin/bash
MEUMAC=`/sbin/ifconfig eth0 | grep HWaddr | awk '{print $5}'`
if [ $MEUMAC = "00:08:54:2C:DD:FD" ]; then
echo "estou na maquina que deve rodar o script"
#seus comandos aqui
else
echo "MAC não confere, maquina diferente, altere o MAC no script"
fi
# OU
meumac=`ifconfig | grep "00:08:54:2C:DD:FD"`
if [ -n "$meumac" ]; then
echo "estou na maquina que deve rodar o script"
#seus comandos aqui
fi
Isso serve pra vc fazer alguma coisa amarrando ao mac address.
MEUMAC=`/sbin/ifconfig eth0 | grep HWaddr | awk '{print $5}'`
if [ $MEUMAC = "00:08:54:2C:DD:FD" ]; then
echo "estou na maquina que deve rodar o script"
#seus comandos aqui
else
echo "MAC não confere, maquina diferente, altere o MAC no script"
fi
# OU
meumac=`ifconfig | grep "00:08:54:2C:DD:FD"`
if [ -n "$meumac" ]; then
echo "estou na maquina que deve rodar o script"
#seus comandos aqui
fi
Isso serve pra vc fazer alguma coisa amarrando ao mac address.
Nenhum comentário:
Postar um comentário