Reutilizando a entrada do usuário em um script

0

Eu tenho o seguinte script que funciona:

#!/bin/bash

xfreerdp /cert-ignore /f /v:farm.company.com /d:company.com /g:rds.company.com /u:$(zenity --entry --title="Username" --text="Username") /gd:company.com /gu:$(zenity --entry --title="Username" --text="Username") /gp:$(zenity --password --title="Password" --text="Password") /p:$(zenity --password --title="Password" --text="Password")

No entanto, isso significa que eu sou solicitado duas vezes para o nome de usuário e duas vezes para a senha. Como isso pode ser alterado, então eu só tenho que digitar o nome de usuário e senha uma vez e usar essas credenciais em ambos os lugares?

Os comandos acima precisam dos nomes de usuários e dos dois flags de senha a serem preenchidos. Sem os dois conjuntos, ele não funciona.

    
por oshirowanen 15.07.2014 / 12:34

1 resposta

3

Que tal atribuí-lo a uma variável?

#!/bin/sh
user="$(zenity --entry --title="Username" --text="Username")"
pass="$(zenity --password --title="Password" --text="Password")"

xfreerdp /cert-ignore /f /v:farm.company.com /d:company.com /g:rds.company.com /u:${user} /gd:company.com /gu:${user} /gp:${pass} /p:${pass}

Apenas um aviso, essa não é uma boa abordagem, pois sua senha e nome de usuário ficam visíveis apenas executando ps axu

    
por 15.07.2014 / 12:37