toskoon
(usa CentOS)
Enviado em 06/02/2017 - 16:45h
1- Como preencher um campo read de um programa por um shell script; tenho um shell script teste.sh e nele abro um programa no próprio terminal que é executado o teste.sh e nesse programa é pedido que coloque seila seu nome para continuar, queria saber como fazer no teste.sh para ele preencher automaticamente esse campo read do programa e continuar a rodar o programa, se tiver como(pois não tenho certeza, mas penso que quando é aberto um novo programa o shell script é fechado). [/quote]
yuttttttt, esta opção read é justamente para que você possa interagir com o script passando um valor qualquer que vai ser mapeado dentro de uma variável. pelo que entendi você não quer travar o script tendo que digitar o nome, neste caso você pode fazer o seguinte:
Usar dentro do seu script no lugar do read usar $1(vai mapear a string que você vai passar junto com a execução do script). neste caso na hora de executar você vai fazer o seguinte
./teste.sh NOME
Ou se você não que passar valor nenhum e quer deixar um valor fixo só você colocar lá a
variavel=valorfixo
2-Como pego o nome dos arquivos em um diretório e coloco num array? ou então cada nome em uma variável, não sei, precisava do nome deles dentro de uma variável.
Neste caso você vai executar alguma ação com os arquivos? você pode fazer um laço for simples para isso.
for i in `ls *`;do echo $i;done
no caso "i" é uma variavel que vai receber os nomes dos arquivos atráves do comando ls. e no dopois do "do" você irá executar oque quiser nos arquivos passando eles como parametro $i. neste exemplo eu mandei apenas exibir(echo) o nome dos arquivos.
3-Como abro um novo terminal e executo comandos nele ao executar um código dentro do teste.sh, já tente "gnome-terminal" de todas as sintaxes possíveis e sempre recebo o erro dizendo "Falhou ao executar processo filho...diretório não encontrado...".
aqui não entendi sua real necessidade, ŝeria no caso deixar um comando rodando em segundo plano? se for você pode usar &.
exemplo.
comando &
aqui o comando será executado em segundo plano e o terminal será liberado para continuar a execução do script.
Se poder mostra oque você já fez que ajuda a entender melhor sua necessidade nas 3 questões.
abs.