ユーザーからユーザー名を読み取ろうとすると、$ 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

おすすめ記事