Comment lire les entrées de l'utilisateur dans une variable dans Bash?
Je suis en train de créer un script qui simplifie le processus de création d'un nouvel utilisateur sur un appareil iOS. Voici les étapes en panne.
# fullname="USER INPUT"
# user="USER INPUT"
# group=$user
# uid=1000
# gid=1000
# home=/var/$user
# echo "$group:*:$gid:$user" >> /private/etc/group
# echo "$user::$uid:$gid::0:0:$fullname:$home:/bin/sh" >> /private/etc/master.passwd
# passwd $user
# mkdir $home
# chown $user:$group $home
Comme vous pouvez le voir, certains domaines nécessitent l'entrée. Comment puis-je demander la saisie d'une variable dans le script?
source d'informationauteur Geofferey
Vous devez vous connecter pour publier un commentaire.
Utilisation
read -p
:Si vous souhaitez confirmer:
Vous devez également citer vos variables pour empêcher nom de chemin d'expansion et de couper un mot avec des espaces:
Yep, vous aurez envie de faire quelque chose comme ceci:
Une autre option serait d'avoir leur fournir cette information sur la ligne de commande. Getopts est votre meilleur pari.
À l'aide de getopts en shell bash script pour obtenir de longue et de courte options de ligne de commande
Vous pouvez également essayer zenity !