• shell脚本


    符号:
    *            通配符
                单个任意字符
    ~            宿主目录
    &&        连接符,前一个成功了后面一个才执行
    |            管道符,前者的输出作为后者的输入
    ||            或,只要其中一个通过,整个式子通过
                换行符,在命令中,表示命令未打完,下一行接着打,在编码中,可转义,如: ,
    ;            连接,如:cd /tmp;ls        表示进入tmp目录中后,查看
    {}            展开,如:mkdir    file{1..10},会创建file1,file2,file3,。。。file10个文件夹
    []            连续的范围,如:grep [a-z]   /tmp/a.txt
    ""            字符串,但是可以获取变量
    ''            字符串,字符
    ``               括起来的东西可以当做命令来执行,~号

    --------------------------------------------
    变量
            自定义变量
            系统变量
    自定义变量:
    如:
    a="helloworld"    
    echo "$a"     
    ip=192.168.18.105
    ping -c 4 $ip       

    交互式获取变量:read -p "please input a name" name
    echo "$name"                
                                    变量不能是数字

    系统变量:(又称为内部变量,变量名都是大写)
    $HOME
    $HOSTNAME
    $PWD
    $PID
    $PATH

    echo $PATH           命令的搜索路径
         
    PATH=$PATH:/vfast            这样/vfast中的文件在其他路径下就可以直接使用,把/vfast提升到系统变量搜索中
    -----------------
    A=apple
    B=bnanana
    echo $A.$B                只适用与当前环境,换个shell就不能识别出来


    如果        export A,新打开一个shell就会识别a,把它提升为环境变量,与这个shell平级的shell不能识别,但是他的子shell可以识别


    ------------------------------------------
    变量符号:


      
      $0    :        脚本名称
    $1    :        第一个参数的名字
    $2    :        第二个参数的名字
    。。。
    $10    :        第10个参数的名字。注意:${10}要括号括起来,否则会识别为1,0
    $#    :        未知参数的个数
    $$    :        脚本执行时候pid号是多少,进程号,因为脚本执行完之后,ps aux查看时候是不显示的
    $@    :        未知参数的列表

    $?        :     返回值
                                0:表示成功
                                    非0:表示失败,常见的非0值,127命令未找到,126:没有权限

    -----------------------------------
    脚本的写法:
    后缀名一般以    .sh    .c    .py    结尾

    书写规范:
    #!/bin/bash            定义开头指定的运行环境
    #    说明脚本的作用,介绍
    定义变量
    函数
    主程序
    ---------------------------
    脚本的执行:
    需要拥有x权限,拒绝777
    有两种执行方式:
                sh    x.sh            在原来shell基础上又开启了一个新的shell,执行,输出,又返回到原来的shell
                source    x.sh        在当前shell执行,当前shell输出
    -----------------------------
    echo指令的简单使用:
    echo    -n    不换行
                -e        解释转义字符
                            tab制表符
                        换行,回车
                            删除前一个字符
                a            提示音
                常用颜色

    echo -e "33[30m 黑色字 33[0m"
    echo -e "33[31m 红色字 33[0m"
    echo -e "33[32m 绿色字 33[0m"
    echo -e "33[33m 黄色字 33[0m"
    echo -e "33[34m 蓝色字 33[0m"
    echo -e "33[35m 紫色字 33[0m"
    echo -e "33[36m 天蓝字 33[0m"
    echo -e "33[37m 白色字 33[0m"

    echo -e "33[40;37m 黑底白字 33[0m"
    echo -e "33[41;37m 红底白字 33[0m"
    echo -e "33[42;37m 绿底白字 33[0m"
    echo -e "33[43;37m 黄底白字 33[0m"
    echo -e "33[44;37m 蓝底白字 33[0m"
    echo -e "33[45;37m 紫底白字 33[0m"
    echo -e "33[46;37m 天蓝底白字 33[0m"
    echo -e "33[47;30m 白底黑字 33[0m

    ------------------------------------------------

    输入输出重定向

        >    >>        <        <<

     passwd zhangsan --stdin <pass.txt                    重定向输入源,pass。txt中写入密码,就会把张三的密码改变

      <        表示重定向输入,        >    表示输出
    <<            重定向追加输入            >>    重定向追加输出到

        head -1 /etc/rc.d/* >/vfast/a.txt 2>/vfast/error.txt  2表示错误输出,正确输入,放到/vfast/a.txt        错误输出。放到/vfast/error.txt

        head -1 /etc/rc.d/* $>/vfast/a.txt 2>/vfast/a.txt

                                
















  • 相关阅读:
    python2的比较函数,cmp
    快速排序
    如果a,b,c为自然数,a+b+c=1000,a方+b方=c方,求出abc可能的组合(python实现)
    python之join
    python之functools partial
    Python 3 iter函数用法简述
    python线程之condition
    python 线程 event
    getattr getattribute setattr hasattr delattr
    Properties类
  • 原文地址:https://www.cnblogs.com/xiaoxiao5ya/p/26b4ce230f83c24b50d1975ff50dd5c0.html
Copyright © 2020-2023  润新知