コマンドラインに引数(ユーザー名)を指定して複数のユーザーを追加できるように、このスクリプトをどのように変更しますか?
少なくともこれらのread
オプションを削除する必要があることを知っています。ユーザー名検索を壊したり、root / sudoだけが新しいユーザーを作成できるようにしたくありません。私はLinuxとBASHスクリプトに初めて触れましたので、しばらくお待ちください。 CentOS8を使用してください。
#!/bin/bash
if [ $(id -u) -eq 0 ]; then
read -p "Enter username : " username
sleep 1
read -s -p "Enter password : " password
sleep 2
egrep "^$username" /etc/passwd >/dev/null
if [ $? -eq 0 ]; then
echo "$username exists!"
exit 1
else
sudo useradd -m -p "$pass" "$username"
[ $? -eq 0 ] &&
echo "User has been added to system!" || echo "Failed to add a user!"
fi
else
echo "Only root may add a user to the system."
exit 2
fi