Bash

在腳本中重用使用者輸入

  • July 15, 2014

我有以下有效的腳本:

#!/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")

但是,這意味著我會被提示兩次輸入使用者名和兩次輸入密碼。如何更改此設置,以便我只需輸入一次使用者名和密碼並在兩個地方都使用這些憑據?

上面的命令需要同時填寫使用者名和密碼標誌。如果沒有這兩個設置,它就不起作用。

如何將其分配給變數?

#!/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

引用自:https://unix.stackexchange.com/questions/144615