• shell脚本常用方法总结


    shell脚本给字符串添加颜色

    字颜色:
      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" 字体变为红色并且不停的闪烁:   echo -e "33[31m 33[05m 北京欢迎你 33[0m"

    shell脚本判断执行用户

    #!/bin/bash
    if [ `whoami` == "root" ];then
        echo "是root用户执行"
    fi 

    shell curl只返回HTTP状态码

    curl -I -m 10 -o /dev/null -s -w %{http_code} www.baidu.com
    -I                只返回响应头
    -m                允许传输的最长时间
    -s                静默模式,不输出任何东西
    -w %{http_code}   完成后输出状态码
    -o 输出到文件

    shell脚本中的一些特殊变量

    $$        shell本身的PID
    $!        shell最后运行的后台Process的PID
    $?        可以获取上一个命令的退出状态
    $#        打印传入shell的参数个数
    $0        shell本身的文件名 
    $1~$n    添加到Shell的各参数值。$1是第1参数、$2是第2参数
    $@$*的区别
        $@和$*都有打印传入shell的所有变量的意思;当$@和$*不被""双引号包含时,都以"1" "2" "3"的形式输出所有参数;
    举个例子说明被""双引号包含时的状态:
    [root@jump ~]# cat aaa.sh
    #!/bin/bash
    fun() {
        echo "$#"
    }
    
    echo '"$@" 的参数为' $@
    echo '"$*" 的参数为' $*
    echo '"$@" 的参数个数 '$(fun "$@") "个"
    echo '"$*" 的参数个数' $(fun "$*") "个"
    执行结果:
    [root@jump ~]# bash aaa.sh 1 2 3
    "$@" 的参数为 1 2 3
    "$*" 的参数为 1 2 3
    "$@" 的参数个数 3 个
    "$*" 的参数个数 1 个
    结论:
      当aaa脚本运行后,$@的参数为"1" "2" "3";$*的参数为"1 2 3";所以$@的参数数量为3个;$*的参数数量为1个;

    shell脚本中的比较

    -eq    等于        
    -ne    不等于
    -gt    左边大于右边
    -lt    左边小于右边
    -ge    左边大于等于右边
    -le    左边小于等于右边

    shell的逻辑与或非

    逻辑与  "-a"
    if [command1 -a command2]    两个条件都要满足
    逻辑或  "-o"
    if [command1 -o command2]    两个条件只要满足1个即可
    逻辑非  "!"
    if [! command]  条件表达式的相反结果
    
    ###第二种方式###
    &&运算符
    command1 && command2  command1执行结果为真,则command2才能够被执行;只要有一个命令的执行结果为假,则后面的命令就不会被执行;实现逻辑与的功能;
    ||运算符
    command1 || command2  command1执行结果为假,则执行command2;实现逻辑或的功能;
  • 相关阅读:
    LEFT JOIN个别问题
    phporjquery生成二维码
    杂项(乌班图、flex的使用实例)
    mysql创建用户并授权,解决1045
    jar运行指定jdk
    Flutter升级版本后,运行项目报错
    spring boot执行jar包指定active profile
    centos7 安装clamav 进行病毒扫描查杀
    CentOS7上安装MySQL 5.7.32(超详细)
    Centos7.5 安装elasticsearch 7.13.2 遇到的问题记录
  • 原文地址:https://www.cnblogs.com/zhangzhide/p/15107851.html
Copyright © 2020-2023  润新知