zoukankan      html  css  js  c++  java
  • shell script 零碎知识

    1.test命令的测试功能

    -e  文件名是否存在

    -f  文件名是否存在且为文件

    -d  文件名是否存在且为目录

    范例1    检查/dmtsai是否存在,存在输出 exist  不存在输出 Not exist

    test -e /dmtsai && echo "exist" || echo "not exist"

    2.参数

      shell脚本被执行时可以带进参数,其基本用法是:

         脚本名 参数1 参数2 参数3 ......

             $0    $1    $2   $3

         $#:表示总参数的个数;

         $@:所有参数的字符串。

    3.条件判断式

       有3种形态

      

    •if或elif后的条件必须用[],且表达式和中括号之间一定要有空格;

    •比较的表达式中用$取变量值之后要用双引号引起;
    •在linux的shell脚本中==和=含义是一样的
     
    netstat命令 可以查询到目前主机打开的网络服务端口,我们可以利用“netstat -tuln”来取得目前主机有启动的服务。
    常见的port和相关网络服务的关系:
     80:WWW
     21:ftp
     22:ssh
     25:mail
     
    4.case…esac语句
    shell脚本中的case…esac语句相当于switch语句
    5.循环(while循环和for循环)
      whilie循环
      
    while [ condition ] #有空格
    do
        程序块
    done
    
    当condition条件成立时,就进行循环,直到condition的条件不成立停止。
    
    until [ condition ]
    do 
       程序块
    done
    当condition的条件成立时,终止循环,否则就持续进行循环
    

      

    ?话说  什么时候有空格,一开始条件 !=两边没加空格  就错了。。。

    for循环

    #固定循环
    #变量 第一次等于 value1,第二次等于 value2.。。。
    for 变量名 in value1 value2 value3 do 语句 done
    #常用于数值的循环 for ((初始值;终止条件;执行步长)) do 语句 done

      

  • 相关阅读:
    mybatis学习坑路
    一文理解class.getClassLoader().getResourceAsStream(file)和class.getResourceAsStream(file)区别
    servlet的坑
    class.getResource()方法的更新 坑
    utf8和字节数组的转换
    finally模块的各种情况
    C++ 动态对象数组的知识总结
    Notepad++正则表达式语法
    诸子百家55句
    给初始化为NULL的结构体指针赋值报错问题
  • 原文地址:https://www.cnblogs.com/zqlmmd/p/5518959.html
Copyright © 2011-2022 走看看