사용자로부터 사용자 이름을 읽으려고 할 때 $USER가 이미 설정되어 있습니다.

사용자로부터 사용자 이름을 읽으려고 할 때 $USER가 이미 설정되어 있습니다.

이 코드를 만들었어요

while [ -z "$USER" ]; do
    >&2 echo -n 'Your desired User : '
    read USER
done

$USER그러나 이것은 내가 원하는 것이 아닌 스크립트를 실행하는 현재 사용자로부터 얻어지기 때문에 작동하지 않습니다 .

$USER이 변수와 이런 일이 발생할 수 있는 다른 변수에 대해 앞으로 어떻게 이를 방지할 수 있습니까? 비슷 $PATCH하거나 비슷함

답변1

소문자 변수 이름을 사용하거나 피해야 할 대문자 변수 이름을 정확히 알아 두십시오.

환경이 아닌 변수(예: 쉘 변수)의 경우 소문자를 사용하세요.

while [ -z "$user" ]; do
    read -p 'User name: ' user
done

관련 정보