Como passar argumentos em um script usando o gnome-terminal

2

Como parte de um script que tenho

gnome-terminal -e "process involving another user"

Uma vez executada esta linha, tenho que escrever no terminal 3 vezes a senha deste usuário. Gostaria de saber como posso automatizá-lo, isto é, sem digitar a senha. Algo como

echo "password" (3 times) | gnome-terminal -e "process involving another user"

Obrigado @ rao_555, mas temo que as coisas não sejam tão fáceis. Eu uso o comando

gnome-terminal --working-directory="/var/singlecellserver/single-cell-server" \
    -e "sage -python trusted_db.py -w 50 --untrusted-account untrusted@localhost" &

Portanto, não quero passar argumentos para sage -python ... . Quando sage -python ... for lançado, preciso dar uma senha não confiável a 3 vezes. Eu tentei

gnome-terminal --working-directory="/var/singlecellserver/single-cell-server" \
    -x sage -python trusted_db.py -w 50 --untrusted-account untrusted@localhost    &

mas sem sucesso.

RESOLVIDO

O problema estava relacionado a sudo e ssh . Como é necessário iniciar o processo como su , o acesso via ssh à conta não confiável precisa das chaves ssh também na pasta raiz.

    
por fbn 27.12.2011 / 13:22

2 respostas

0

faça um shell script e coloque seus comandos dentro dele, passe a senha apenas uma vez como argumento, e dentro do script use $ 1 para obter sua senha,

use $ 1 para obter sua senha onde quiser dentro do seu script.

    
por Rajesh Pantula 27.12.2011 / 13:28
0

Você pode usar expect

Veja o link

Deve ser simples o suficiente, poste se precisar de ajuda.

    
por Panther 27.12.2011 / 17:58