Bash: 명령 결과를 변수에 저장하면 출력이 엉망이 됩니다.

Bash: 명령 결과를 변수에 저장하면 출력이 엉망이 됩니다.

저는 WSL에서 Windows 사용자 이름을 얻으려고 합니다.

#!/bin/bash

WINDOWS_USER=$("whoami.exe")
echo "Windows username: '${WINDOWS_USER}'"

그러나 출력은 약간 혼란스럽습니다.

$ ./createNewUser.sh
'indows username: 'intra\user

나는 실제로 출력을 기대합니다 Windows username: 'intra\user'. 그런데 마지막 문장이 '문장의 시작 부분으로 옮겨졌습니다. 어떻게 이런 일이 일어날 수 있었을까요?

답변1

문제는 이 명령이 \r마지막 명령 에 있다는 것입니다 \n. 다음 방법으로 제거할 수 있습니다.

WINDOWS_USER=$(whoami.exe | tr -d '\r')

관련 정보