ubuntu で adduser
を実行すると対話モードが発生します。
USER_NAME=okamuuu # 適宜変更してください sudo adduser $USER_NAME
こんな感じの対話モードが始まります。
Adding user `okamuuu' ... Adding new group `okamuuu' (1002) ... Adding new user `okamuuu' (1002) with group `okamuuu' ... Creating home directory `/home/okamuuu' ... Copying files from `/etc/skel' ... Enter new UNIX password: # パスワード入力 Retype new UNIX password: # パスワード入力(確認) passwd: password updated successfully Changing the user information for okamuuu Enter the new value, or press ENTER for the default Full Name []: # Enter連打 Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y # Yes # 終了
こんな感じの createuser.sh
を追加するとよいでしょう。
if [ $# -ne 1 ]; then echo "実行するには1個の引数が必要です。" 1>&2 exit 1 fi USER_NAME=$1 PASSWORD=hogehogehoge echo ${USER_NAME} sudo expect -c " spawn adduser ${USER_NAME} expect \"Enter new UNIX password:\" send -- \"${PASSWORD}\n\" expect \"Retype new UNIX password:\" send -- \"${PASSWORD}\n\" expect \"Full Name\" send -- \"\n\" expect \"Room Number\" send -- \"\n\" expect \"Work Phone\" send -- \"\n\" expect \"Home Phone\" send -- \"\n\" expect \"Other\" send -- \"\n\" expect \"Is the information correct?\" send -- \"Y\n\" interact
こんな感じで実行
sh createuser.sh okamuuu
おしまい。