linux 交互式输入脚本实现


例如:
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 $?
(这里将结果返回给父脚本)

 

 

 

 

 


 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM