例如:
passwd portal << EOF
portal
portal
EOF
注意所有的行都要靠左寫,否則報錯
方式一
useradd portal
passwd portal << EOF
portal
portal
EOF
if [ -d "/home/portal" ];then
rm -rf /home/portal
echo "delete folder portal!"
fi
mkdir /home/portal
c
hgrp users /home/portal
chown portal /home/portal
方式二(推薦)
useradd -d /home/portal -s /bin/bash -g users -m portal
passwd portal << EOF
portal
portal
EOF
echo "創建用戶成功!"
精確查詢:
username="portal"
user=`cat /etc/passwd |grep ^$username:`
(一)典型例子:root用戶切換portal用戶,執行配置文件,重啟tomcat
父腳本:restartTomcat.sh
#!/usr/bin/ksh
#set -x
su $1 << EOF
bash ./startup.sh $1
EOF
if [ $? -eq 0 ] ; then
echo "startup tomcat successfully!"
else
echo "startup tomcat failed!"
fi
(使用EOF:現執行EOF中的每行命令,注意使用此時仍是root身份,遇到子腳本時,才切換su $1為portal,此時以portal身份執行那個子腳本startup.sh)
子腳本:startup.sh
source /home/$1/.bashrc
sh ${TOMCAT_HOME}/bin/startup.sh
exit $?
(這里將結果返回給父腳本)
