zoukankan      html  css  js  c++  java
  • Linux入门-shell

    一、变量定义和使用

      #DATESTR=`/bin/date +%Y%m%d`

      #TIME=$(date +%F)

      #echo $TIME

      #NUM=1

      #NAME='JOIN TOM'

      #NAME="JOIN TTY$NUM"

      #set[unset]  查看/删除已经定义的变量

    二、位置变量

      #vi a.sh

      #!/bin/sh

      echo $0,$1,$2

      #sh a.sh 1 2 3

      输出 a.sh 1 2

    三、特殊变量

      $?  上一个命令执行是否结果0:成功,非0:失败

      $*  命令的所有参数

      $#  参数个数

      $$  程序的pid

      $!  上一个后台命令的pid

      #vi b.sh

      #!/bin/sh

      echo '$#=' $#

      echo '$*=' $*

      echo '$?=' $?

      echo '$$=' $$

    四、获取输入

      #vi c.sh

      #!/bin/sh

      read var1 var2 var3

      echo $var1,$var2,$var3

      sh -x(调试模式) c.sh

    五、计算

      expr 3 + 1  对整数变量进行运算

      expr 3 * 3  乘法需要转意

    六、变量测试

      WEB=`/usr/bin/pgrep httpd`

      if [ "$WEB" != ""]

      then

        ...

      else

        ...

      fi

      

      if [ $# -ne 2 ]; then

        echo "参数个数不正确"

        exit 0  #0:正常退出,非0:不正常退出

      fi

      ✔流程控制

      for VAR in 1 2 3

      do

      echo $VAR

      done

      ✔awk:分段提取内容

      awk -F 分隔符 '命令'

      awk -F: '$3==0 {print $1}' /etc/passwd  #显示uid为0的用户名

      awk -F: 'length($2)==0 {print $1}' /etc/shadow  #显示密码为空的用户

      ✔case

      read op

      case $op in

        C)

          myfunc

        ;;

        D)

          echo "DD"

        ;;

        *)

          echo "default"

      esac

      myfunc(){

        echo 1;

      }

      ✔while until(false就执行)

      num=1

      while [ $num -le 10]

      do

        echo $num

        num=`expr $num + 1`

      done

  • 相关阅读:
    LeetCode522. 最长特殊序列 II
    docker activiti部署到Linux环境,流程图乱码
    linux docker 命令
    linux 安装docker
    JSON,JSONOBJECT,JSONARRAY 互转
    Python和java 的区别笔记(未完成)
    程序员常读书单整理,附下载地址
    javaweb同一个项目打包两次放在同一个tomcat下
    SSM项目集成Redis
    Chrome浏览器崩溃
  • 原文地址:https://www.cnblogs.com/hwt987/p/3728915.html
Copyright © 2011-2022 走看看