動作する次のスクリプトがあります。
#!/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")
ただし、これは2つのユーザー名プロンプトと2つのパスワードプロンプトが表示されることを意味します。ユーザー名とパスワードを一度だけ入力し、その資格情報を2つの場所で使用できるようにするにはどうすればよいですか。
上記のコマンドを使用するには、ユーザー名とパスワードフラグの両方を入力する必要があります。これら2つの設定がないと動作しません。
答え1
変数に代入するのはどうですか?
#!/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}
単純に、次のコマンドを実行してパスワードとユーザー名を表示できるので、これは良いアプローチではありません。ps axu