• 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

  • 相关阅读:
    C# 从类库中获取资源图片,把图片资源保存到类库中
    C# Bitmap/png转成jpg格式,压缩图片
    C# 窗体间传值(使用委托与自定义事件)
    C# Image与Base64编码互转函数
    简单Tomcat HTTP RPC框架
    Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
    Java序列化机制和原理
    攻破JAVA NIO技术壁垒
    代理模式(Proxy)
    Java序列化与反序列化
  • 原文地址:https://www.cnblogs.com/hwt987/p/3728915.html
Copyright © 2020-2023  润新知