当想要从用户读取用户名时 $USER 已经设置

当想要从用户读取用户名时 $USER 已经设置

我做了这个代码

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

但这不起作用,因为$USER是从运行脚本的当前用户获取的,这不是我想要的。

$USER对于该变量以及可能发生这种情况的其他变量,将来如何避免这种情况?类似$PATCH或相似

答案1

使用小写变量名称,或者确切地知道要避免使用哪些大写变量名称。

对于非环境变量(即shell变量),只需使用小写:

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

相关内容