variavel que chama um comando [RESOLVIDO]

1. variavel que chama um comando [RESOLVIDO]

Bmsantos
bmcentos

(usa Debian)

Enviado em 26/03/2013 - 17:49h

Boa tarde!

Sou iniciante no linux, e minha duvida é referente ao shell script.
Criei um script simples, que solicita ao "usuario" para digitar um comando (ex: pwd, ifconfig, etc) e o mesmo ser execultado.


#!/bin/sh
echo "digite um comando"
read '?'
$?
echo " comando digitado foi $? "

Obs: A grande questão é que não quero deixar um comando pre definido, e sim deixar com que o suuario digite.

obg



  


2. Re: variavel que chama um comando [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/03/2013 - 18:11h

Esse $? é usado prá um programa retornar um código numérico após a execução.

Você já viu um "return 0", o último do programa dentro do main() de um programa em C? Ele passa esse 0 pro sistema. Se for "return 37", ele faz o $? valer 37 no primeiro momento após o encerramento.

Voltando ao problema:

Há dois modos principais de se executar comandos desse jeito que você quer:

* ou com $(...)
* ou com `...`

por exemplo:

X=$(ls);

ou então

X=`ls`;

$X terá armazenada toda a saída do comando ls;

No caso dos símbolo ` perceba que é o que se usa prá acento grave, crase etc. em língua portuguesa. Não é o apóstrofo.

Estava esquecendo: você precisa de uma variável prá receber o texto que o read está pedindo.







3. Re: variavel que chama um comando [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 13/04/2013 - 00:40h

substitua read '?' por read NOME_DA_SUA_VARIAVEL


quando vc usou ?, e depois foi fazer referencia à mesma com $?, acabou usando uma variável reservada $?.

Só substitua, e pronto.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts