Colocar o resultado de comando numa variável

1. Colocar o resultado de comando numa variável

Ede
ede_linux

(usa Ubuntu)

Enviado em 30/03/2016 - 06:41h

Olá,

Começando no shell script :)
Para não variar, já tenho dúvidas! :)

Estou a tentar executar um comando e o resultado do mesmo deve ir para uma variável, neste exemplo OUTPUT. Ao executar o programa o resultado só deveria ser escrito quando chama-se a variável OUTPUT através da função echo (é uma função, certo?) Consigo fazer isso com o comando date, mas não consigo aplicar o mesmo ao comando "showmount...."

OUTPUT=$(showmount -e 192.138.4.832)
echo $OUTPUT
now=$(date)
echo $now


O resultado é:

clnt_create: RPC: Program not registered

Wed Mar 30 09:41:33 UTC 2016


Obrigado


  


2. Re: Colocar o resultado de comando numa variável

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 30/03/2016 - 09:26h

Deve ser porque a saída deste comento está sendo de ERROR, nesse caso, se quiser capturar mesmo sendo saída de erro, faça:


OUTPUT=$(showmount -e $IP_ALVO 2>&1)


Ou pode checar se foi um erro, e continuar seu script .....:


if OUTPUT=$(showmount -e $IP_ALVO); then
echo "deu tudo certo, saida = $OUTPUT"
else
echo "erro"; exit 1
fi




3. Re: Colocar o resultado de comando numa variável

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 30/03/2016 - 09:45h

ede_linux escreveu:

Olá,

Começando no shell script :)
Para não variar, já tenho dúvidas! :)

Estou a tentar executar um comando e o resultado do mesmo deve ir para uma variável, neste exemplo OUTPUT. Ao executar o programa o resultado só deveria ser escrito quando chama-se a variável OUTPUT através da função echo (é uma função, certo?) Consigo fazer isso com o comando date, mas não consigo aplicar o mesmo ao comando "showmount...."


OUTPUT=$(showmount -e 192.138.4.832)
echo $OUTPUT
now=$(date)
echo $now


O resultado é:
clnt_create: RPC: Program not registered
Wed Mar 30 09:41:33 UTC 2016


Obrigado

-----------------------------------------------------------------------------------------------------------------------
Bom dia, ede_linux.
Através da função echo (é uma função, certo?)
No exemplo mostrado, echo é um comando.
Normalmente, utilizo FUNÇÃO, quando efetuo o mesmo comando repetidas vezes, exemplo:
DATA() {
echo -e "\nHoje é: $(date)"
}


As FUNÇÕES, devem ficar no inicio do script.
Em qquer lugar do script, você pode CHAMAR a FUNÇÃO pelo nome, neste caso DATA.

A MENSAGEM "clnt_create: RPC: Program not registered", é uma mensagem de erro do comando
showmount -e 192.138.4.832
Dei uma pesquisada, é algo relacionado com o NFS service.
Infelizmente não tenho mais informações sobre o comando showmount, nunca tive a necessidade de utilizar.
É isso. . .

-------------------------------------------------------------------------------------------------------------------------------
Se resolver, marque como resolvido, por favor.
Gostando da resposta, marque-a como MELHOR, dessa forma, ganho uns pontinhos,
o que incentiva a continuar colaborando, ajudando, participando e compartilhando conhecimentos . . . :)
-------------------------------------------------------------------------------------------------------------------------------
Att.:
Marcelo








4. Re: Colocar o resultado de comando numa variável

Douglas A. Santos
Doug.linux

(usa Debian)

Enviado em 30/03/2016 - 09:58h

Tente:

OUTPUT=`showmount -e 192.138.4.832`
echo $OUTPUT






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts