我以root用户身份登录,而不是运行具有以下内容的脚本

#! /bin/bash
id studentapp if [ $? -eq 0 ];
then  echo " SKIPPING user creation"
else useradd studentapp
echo " User created"
fi
cd /home/studentapp


任何想法...

最佳答案

如果创建了用户,也许在else块中需要su studentappcd更改工作目录。如果未创建用户-可能没有这样的目录。

su man page

cd man page

另外,它可能对您有帮助:

check if user exists

check if direcory exists

更新资料

#! /bin/bash
id studentapp
if [ $? -eq 0 ];
then
    echo "user exists"
else
    useradd studentapp --create-home
    passwd studentapp
    echo "user created"
fi
su studentapp
cd /home/studentapp

关于linux - 脚本不会自动从root用户切换到普通用户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52803970/

10-11 03:38