Entrada de dados com shell

1. Entrada de dados com shell

Kaio Cesar
kaiocesar

(usa Fedora)

Enviado em 15/09/2014 - 10:28h

Fala comunidade,blz ?
estou iniciando um Shell que realiza algumas tarefas básicas de sistema como preparar um ambiente de diretórios e arquivos de configurações (tudo a baseado em cp, rm, mkdir etc), mas me ocorre uma dúvida, como eu faço para interagir com comandos de ENTRADA de dados, como por exemplo:

$ minhamaquina@localhost # username :

Veja que na linha acima ele pede o meu username, cujo o qual eu tenho que entrar com um email ou username qualquer, só que a minha intenção é armazenar em um Sqlite ou txt qualquer pra pegar esse username e fazer a entrada automatica via shell, como posso fazer essa parte de entrada ?


  


2. Re: Entrada de dados com shell

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 15/09/2014 - 10:45h

Seria algo como :



#Aki pega o que digitar e coloca na variavel user

echo "nome de usuario :"
read user

# Aki ele nao faz nada + do que a saida do comando echo $user ele coloca no arquivo NomeDeUsuario.txt

echo $user >> NomeDeUsuarios.txt

# Se usar apenas '>' em vez de '>>' , sempre que for executado , ele ira apagar o conteudo e escrever o que o usuario digitar , se deixar com '>>' ele sempre vai colocar no final do arquivo

echo "Digite a sua senha :"
read -ers senha # aki ele nao aparece o que digitou e aguarda um enter

echo $senha >> SenhaDeUsuarios.txt



Espero ter ajudado

T+


3. Re: Entrada de dados com shell

Kaio Cesar
kaiocesar

(usa Fedora)

Enviado em 15/09/2014 - 10:58h


Thihup, obrigado pela resposta, ajudou bastante. Preciso de mais um detalhe, eu tenho uma chamada de comandos
GIT, por exemplo

$ git add .
$ git commit -m "Initial commit"
$ git push -u origin master // apos escrever esse comando via shell ele irá pedir "user" e "password", como eu
faço a entrada automatica (via shell) sem precisar digitar "user" e "senha" ? se puder ajudar nessa questão já vai fechar minha dúvida, por favor :)


4. Re: Entrada de dados com shell

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 15/09/2014 - 11:11h

Olha , isso eu nao sei , pq eu nao uso o git , mas tente definir seu login e sua senha (variaveis).Tipo assim:


#!/bin/bash

usuario=nome
senha=1234

... #comandos ..

echo $usuario $senha | git push -u origin master


Eu nao sei se vai funcionar , mas tente

T+


5. Re: Entrada de dados com shell

Kaio Cesar
kaiocesar

(usa Fedora)

Enviado em 15/09/2014 - 11:20h

Mano, vou testar, valeu outra vez. Ah, eu fiz um exemplo sobre o git, mas pode ser qualquer entrada, tipo semelhante quando lançamos algum comando (a nível sudo) e o shell nos pede o password, então é isso que quero fazer o input, ou seja, ele pedi a senha e via shell eu adiciono a variavel preenchida com a senha.



6. Re: Entrada de dados com shell

Kaio Cesar
kaiocesar

(usa Fedora)

Enviado em 15/09/2014 - 14:26h

Então, fiz todos os teste, mas não deu certo desse jeito. =/

eu faço o print do comando porem não vai


PASS = '123456'
echo $PASS | git push -u origin master # a intenção aqui é que após printar o comando ele entre com a senha






7. Re: Entrada de dados com shell

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/09/2014 - 14:36h

Veja se dá certo assim...


#!/bin/bash

if [ $# -eq "2" ]
then
echo $1 $2 | git push -u origin master
else
echo "Digite: ./script 'USUÁRIO' 'SENHA'"
exit
fi


... é uma ideia parecida com a do Thihüp;


8. Re: Entrada de dados com shell

Kaio Cesar
kaiocesar

(usa Fedora)

Enviado em 16/09/2014 - 15:20h

Então, a passagem de argumento para o script vai de boa, só que o problema é inputar esses valores (usuario e senha) para o comando que eu estou printando com meu shell script, entende ?

Falando em ambiente de terminal, eu vou exemplificar a tarefa que quero simplificar com meu shell.
Esse é meu shell e sempre que tenho atualizações feitas em meus projetos versionados com GIT, eu
preciso "adiciona-lo", "commita-lo" e "dar um push" para o servidor de versionamento, logo em seguida ao ultimo comando (git push -u origin master) ele me pedi "usuario" e "senha", então é isso que quero
fazer com o shell
.

$kaio@localhost projetos $ git add .
$kaio@localhost projetos $ git commit -m "Atualização no projeto"
$kaio@localhost projetos $ git push -u origin master
Password for 'https://kaio@bitbucket.org':



9. Re: Entrada de dados com shell

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 23/09/2014 - 23:55h

Da pra fazer com expect, segue exemplo:


http://www.vivaolinux.com.br/script/Trocar-senha-de-usuario-via-SSH






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts