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


     

  • 相关阅读:
    A physically based scene with three.js
    pbr-guide
    Art Pipeline for glTF
    GG5D
    Leetcode 146.LRU缓存机制
    Leetcode 143.重排链表
    Leetcode 142.环形链表II
    Leetcode 141.环形链表
    Leetcode 139.单词拆分
    Leetcode 138.复制带随机指针的链表
  • 原文地址:https://www.cnblogs.com/qqzy168/p/2666706.html
Copyright © 2020-2023  润新知