변수로 구성된 컬 명령을 실행하는 bash 쉘 스크립트가 있습니다.
# Variables
URL="http://$UN:$PW@localhost:8080/rest/v1"
사용자가 로그인하면 스크립트의 읽기 명령으로 $UN 및 $PW가 채워집니다.
# Login
echo "Please enter your username and password."
read -p "Username: " UN
read -s -p "Password: " PW
로그인 시 사용자 이름은 "alice"로 설정되고, 비밀번호는 "password" 및 기타 보안 콘텐츠로 설정되어 있다고 가정합니다.
내가 겪고 있는 문제는 $URL을 작성할 때 $UN 및 $PW 변수가 비어 있는 것으로 나타난다는 것입니다. 즉, URL은 다음과 같아야 합니다. http://alice:password@localhost:8080/rest/v1하지만 내가 보는 건http://:@localhost:8080/rest/v1
스크립트의 변수를 에코하면 UN 및 PW 변수가 채워지는 것을 볼 수 있습니다.
echo $UN
앨리스에게 돌아가기
echo $PW
비밀번호를 반환하지만 만약 내가
echo $URL
그들은 실종됐다
나는 이것이 http://의 마지막 /와 관련이 있다고 생각하지만 틀릴 수도 있습니다. 참고 $URL 변수에 변수를 삽입하는 방법을 다른 방법으로 변경해 보았습니다.
"http://${UN}:${PW}@localhost:8080/rest/v1"
"http://"$UN":"$PW"@localhost:8080/rest/v1"
"http://"${UN}":"${PW}"@localhost:8080/rest/v1"
...하지만 결과는 같습니다.
어떤 조언이라도 대단히 감사하겠습니다!
답변1
$URL 변수를 설정해야 합니다.뒤쪽에아래와 같이 $UN 및 $PW:
echo "Please enter your username and password."
read -p "Username: " UN
read -s -p "Password: " PW
URL="http://${UN}:${PW}@localhost:8080/rest/v1"