스크립트에서 사용자 입력 재사용

스크립트에서 사용자 입력 재사용

작동하는 다음 스크립트가 있습니다.

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

그러나 이는 두 개의 사용자 이름 프롬프트와 두 개의 비밀번호 프롬프트가 표시됨을 의미합니다. 사용자 이름과 비밀번호를 한 번만 입력하고 해당 자격 증명을 두 곳에서 사용하도록 하려면 어떻게 해야 합니까?

위 명령을 사용하려면 사용자 이름과 비밀번호 플래그를 모두 채워야 합니다. 이 두 가지 설정이 없으면 작동하지 않습니다.

답변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

관련 정보