zoukankan      html  css  js  c++  java
  • shell 脚本 自动化

    最简单打开终端登录:

    gnome-terminal --tab -e "bash -c \"sshpass -p "apeadmin" ssh -tt ape@192.168.1.136 'cd / && /bin/bash' \""


       sshpass为自动登录   -tt 为接受自动登录

    scp 拷贝:

    g_count_135="ape@ip"
    g_passwd
    ="pwd"

    sshpass
    -p "apeadmin" scp -r ape@192.168.1.135:/var/www/html/telhtm/js/tel.js ~/

    shell 自动化脚本1(打开终端):

     

    g_shdaily_path="/ape/ImRoBot5/Dev/cvs/ImRoBot5/shdaily/cgi"
    g_baspath_135
    ="/ape/ImRoBot5/Dev/cvs/ImRoBot5/bas/cgi"
    g_baspath_136
    ="/ape/Dev/cvs/ImRoBot5/bas/cgi"
    g_dianxin
    ="/var/www/html/telhtm"
    g_bas
    ="/var/www/cgi-bin"
    g_wangkangluo1
    ="/ape/ImRoBot5/wangkangluo1"
    g_passwd
    ="apeadmin"
    g_cout_136
    ="ape@ip"
    g_cout_135
    ="ape@ip"
    g_limit
    =4 #打开终端屏幕数量
    g_tail=wssh1.tail #调试跟踪输出文件
    #
    echo $l_statu >>$g_tail

    fun_main()
    {
    case $# in
    0)
    fun_deal_0
    ;;
    1)
    fun_deal_1 $
    1
    ;;
    esac
    }

    fun_deal_0()
    {
    fun_cd
    $g_baspath_136 $g_cout_136 3
    }


    fun_deal_1( )
    {
    case $1 in
    "135")
    fun_cd
    $g_baspath_135 $g_cout_135 3
    ;;
    "sh")
    fun_cd
    $g_shdaily_path $g_cout_135 3
    ;;
    "wget")
    fun_cd
    $g_wangkangluo1 $g_cout_135 1
    ;;
    "dx")
    fun_cd
    $g_dianxin $g_cout_135 3
    ;;
    "bas")
    fun_cd
    $g_bas $g_cout_136 1
    esac
    }

    fun_cd()
    {
    if [ $3 = 3 ]
    then
    # echo "bug" >>$g_tail
    gnome-terminal --tab -e "bash -c \"sshpass -p $g_passwd ssh -tt $2 'cd $1 && /bin/bash' \"" --tab -e "bash -c \"sshpass -p $g_passwd ssh -tt $2 'cd $1 && /bin/bash' \"" --tab -e "bash -c \"sshpass -p $g_passwd ssh -tt $2 'cd $1 && /bin/bash' \""
    else
    gnome
    -terminal --tab -e "bash -c \"sshpass -p $g_passwd ssh -tt $2 'cd $1 && /bin/bash' \""
    fi
    }

    fun_main $
    1

    shell 自动化脚本2(打开终端):

     

    shdailypath="/ape/ImRoBot5/Dev/cvs/ImRoBot5/shdaily/cgi"
    baspath
    ="/ape/ImRoBot5/Dev/cvs/ImRoBot5/bas/cgi"
    wangkangluo1
    ="~/wangkangluo1"
    passwd
    ="pwd"
    cout
    ="ape@ip"

    if [ -d $1 ]
    then
    gnome
    -terminal -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd ~/wangkangluo1 && /bin/bash' \""
    exit 0
    fi

    if [[ $1 != *[^0-9]* ]]&&[[ $1 != 0* ]] #判断是整数还是字符串
    then
    LIMIT
    =8 #上限
    a=0
    b
    =$1
    b
    =$(($b-1))
    if [ $1 -le "$LIMIT" ]
    then
    while [ $a -le $b ]
    do
    a
    =$(($a+1))
    gnome
    -terminal -e "sshpass -p $passwd ssh $cout"
    done
    fi
    exit 0
    else
    if [ $1 = "sh" ] #打开shdaily工作空间
    then
    mode
    =$2
    gnome
    -terminal --window -e "sshpass -p $passwd ssh $cout -t vim $mode $shdailypath/shdailyFCGI.c " --tab -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd $shdailypath && /bin/bash' \""
    gnome
    -terminal --window -e "sshpass -p $passwd ssh $cout -t vim $mode $shdailypath/eggDAO.c " --tab -e "sshpass -p $passwd ssh $cout -t vim $mode $shdailypath/eggDAO.h " --tab -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd $shdailypath && /bin/bash' \""
    gnome
    -terminal --window -e "sshpass -p $passwd ssh $cout -t vim $mode $shdailypath/basSearchOp.c " --tab -e "sshpass -p $passwd ssh $cout -t vim $mode $shdailypath/basSearchOp.h " --tab -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd $shdailypath && /bin/bash' \"" #--tab -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd /var/www/cgi-bin' \""
    #" --tab -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd $shdailypath && /bin/bash' \""
    gnome-terminal --window -e "sshpass -p $passwd ssh $cout -t gdb $shdailypath/shdaily.fcgi " --tab -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd $shdailypath/../ && /bin/bash' \""
    # gnome-terminal -e "sshpass -p $passwd ssh $cout"

    fi

    if [ $1 = "bas" ] #打开bas工作空间
    then
    mode
    =$2
    gnome
    -terminal --window -e "sshpass -p $passwd ssh $cout -t vim $mode $baspath/basFCGI.c " --tab -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd $baspath && /bin/bash' \""
    gnome
    -terminal --window -e "sshpass -p $passwd ssh $cout -t vim $mode $baspath/eggDAO.c " --tab -e "sshpass -p $passwd ssh $cout -t vim $mode $baspath/eggDAO.h " --tab -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd $baspath && /bin/bash' \""
    gnome
    -terminal --window -e "sshpass -p $passwd ssh $cout -t vim $mode $baspath/basSearchOp.c " --tab -e "sshpass -p $passwd ssh $cout -t vim $mode $baspath/basSearchOp.h " --tab -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd $baspath && /bin/bash' \""
    gnome
    -terminal --window -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd $baspath && /bin/bash' \"" --tab -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd $baspath/../ && /bin/bash' \""
    #gnome-terminal --window -e "sshpass -p $passwd ssh $cout -t gdb /ape/ImRoBot5/Dev/cvs/ImRoBot5/shdaily/cgi/bas.fcgi " --tab -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd $baspath/../ && /bin/bash' \""

    fi

    if [ $1 = "cd" ]
    then
    if [ -d $2 ] #进入cvs目录
    then
    echo "3"
    else #进入相应的项目目录
    if [ $2 = "sh" ]
    then
    gnome
    -terminal -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd /ape/ImRoBot5/Dev/cvs/ImRoBot5/shdaily/cgi && /bin/bash' \""
    fi
    if [ $2 = "bas" ]
    then
    gnome
    -terminal -e "bash -c \"sshpass -p $passwd ssh -tt $cout 'cd /ape/ImRoBot5/Dev/cvs/ImRoBot5/bas/cgi && /bin/bash' \""
    fi
    fi
    fi
    exit 0
    fi
    exit 0
    fi

    LIMIT
    =8 #上限
    a=0
    b
    =$1
    b
    =$(($b-1))
    #echo "$b"
    if [ $1 -le "$LIMIT" ]
    then
    while [ $a -le $b ]
    do
    a
    =$(($a+1))
    # echo -n "$a "
    gnome-terminal -e "sshpass -p $passwd ssh $cout"
    done
    fi
    exit 0
    BLOCK

    shell自动化脚本3(函数):

    g_shdaily_path="/ape/ImRoBot5/Dev/cvs/ImRoBot5/shdaily/cgi"
    g_baspath_135
    ="/ape/ImRoBot5/Dev/cvs/ImRoBot5/bas/cgi"
    g_baspath_136
    ="/ape/Dev/cvs/ImRoBot5/bas"
    g_wangkangluo1
    ="~/wangkangluo1"
    g_passwd
    ="pwd"
    g_cout
    ="ape@ip"
    g_limit
    =4 #打开终端屏幕数量
    g_tail=wssh1.tail #调试跟踪输出文件
    #
    echo $l_statu >>$g_tail


    fun_main( )
    {
    local l_statu
    =`fun_jus_mode $1 $2`
    echo $l_statu >>$g_tail
    }

    fun_jus_mode( )
    {
    local l_str_back
    local l_jud
    local l_can_num
    =`fun_calu_num $1 $2`
    case $l_can_num in
    0)
    l_str_back
    ="null"
    ;;
    1)
    l_jud
    =`fun_jus_ifstr $1`
    if [ $l_jud = "str" ]
    then
    l_str_back
    ="cd_defalut"
    else
    l_str_back
    ="cd_defalut_num"
    fi
    ;;
    2)
    l_str_back
    ="ok"
    ;;
    esac
    echo $l_str_back
    }

    fun_jus_ifstr( )
    {
    local l_statu
    if [[ $1 != *[^0-9]* ]]&&[[ $1 != 0* ]]
    then
    l_statu
    ="num"
    else
    l_statu
    ="str"
    fi
    echo $l_statu
    }


    fun_calu_num( )
    {
    local l_str_back
    local l_i
    =0

    while [ 1 -eq 1 ]
    do
    if [ $# -eq $l_i ]
    then
    l_str_back
    =$l_i
    break
    //return 0
    fi
    l_i
    =$(($l_i+1))
    done

    echo $l_str_back
    }

    fun_cd_bas( )
    {
    gnome
    -terminal -e "bash -c \"sshpass -p $g_passwd ssh -tt $g_cout 'cd $g_baspath136 && /bin/bash' \""
    }

    fun_main $
    1 $2 $3

  • 相关阅读:
    CSS3圆角详解
    纯CSS绘制三角形(各种角度)
    jquery实现文字上下无缝滚动
    选择select里面某个option触发的事件
    倒计时
    移动端弹出层加遮罩后禁止滑动
    终端连接oschina 生成SSH公钥
    兼容所有的浏览器透明度代码
    背景颜色渐变效果设置
    Linux下搜索文件命令whereis/which/find/locate
  • 原文地址:https://www.cnblogs.com/wangkangluo1/p/2068705.html
Copyright © 2011-2022 走看看