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