zoukankan      html  css  js  c++  java
  • Shell编程

    基础知识

    1. shell执行方式   sh xx.sh (文件须有r权限)  ||  ./xx.sh (文件须有x权限) 注:sh xx.sh方式比较安全
    2. 文件名后缀 .sh
    3. shell内容开头 #!/bin/bash || #!/bin/sh || #!/bin/csh || #!/bin/ksh 注:#!/bin/bash 使用比较多
    4. 退出  exit 0

    变量赋值与使用

    1. 不需要定义即可直接使用  注:变量赋值时=号两端不能有空格
    2. 以$变量名或${变量名}访问变量内容

    流程控制

    • 判断  注:确保方括号的空格 ; 确定每个条件都有then 
    1. if [ –d ‘dirname’ ];then
          命令集1
      elif 条件2;then
          命令集2
      else
           命令集4
      fi
    2. case $变量 in
      match_1 )
              命令集1
              ;;
      match_2)
              命令集2
              ;;
      ……
      *)(可选)
              命令集n
              ;;
      esac

     

    • 循环

    1.while 条件

    do

            //TODO

    done

    2.until 条件
    do
        命令集
    done

    3.for ((初始值;条件;步进))
    do
        命令集
    done

    4.for 循环变量 in 变量列表
    do
        命令集
    done

    常用判断条件语句

    1. 判断文件类型

      测试标志    语义    举例
      -e    “文件或目录”是否存在    test –e $file_name
      -f    “文件或目录”是否存在且为文件    test –f $file_name
      -d    “文件或目录”是否存在且为目录    test –d “/boot”
      -b    “文件或目录”存在且为块设备    test –b “/dev/sda1”
      -c    “文件或目录”存在且为字设备    test –c “/dev/tty0”
      -S    “文件或目录”存在且为Socket文件    test –S “/var/run/rpcbind.sock”
      -p    “文件或目录”存在且为FIFO文件    test –p $file_name
      -L    “文件或目录”存在且为链接文件    test –L $file_name

    2. 判断文件权限

      测试标志    语义
      -r    “文件或目录”是否存在且具有可读权限
      -w    “文件或目录”是否存在且具有可写权限
      -x    “文件或目录”是否存在且具有可执行权限
      -u    “文件或目录”存在且具有SUID的属性
      -g    “文件或目录”存在且具有SGID的属性
      -k    “文件或目录”存在且具有Sticky bit的属性
      -s    “文件或目录”存在且为非空文件

    3. 文件之间比较

      测试标志    语义
      -nt    “文件名1”是否比”文件名2”新 (newer than)
      -ot    “文件名1”是否比”文件名2”旧(older than)
      -ef    判断”文件名1”和”文件名2”是否为同一个文件,主要用来判断硬链接,即两个文件是否指向同一个inode节点

    4. 整数之间比较

      测试标志    语义
      -eq    两数相等(equal)
      -ne    两数不等(not equal)
      -gt    整数1大于整数2(greater than)
      -lt    整数1小于整数2(less than)
      -ge    整数1大于等于整数2(greater than or equal)
      -le    整数1小于等于整数2(less than or equal)

    5. 与、或、非

      测试标志    语义
      -a    (and) 两个条件同时成立则返回true  test –e file1 –a –d file2
      -o    (or)两个条件任意一个成立则返回true  test –r file1 –o –x file2
      !    (非)当前条件取非  test ! –d file1

    控制结构

    计算整数变量值

    1. expr  注: 运算符号和参数之间要有空格分开;通配符号(*),在作为乘法运算符时要用;
    2. let 例子:let s=(2+3)*4
  • 相关阅读:
    调用外部的EXE和载入关卡
    射击游戏
    一些有用的函数
    U3D支持中文
    摄像机淡入淡出的例子
    一些编辑器开发的代码范例
    自动补全插件之二
    Dapper扩展Refactored Dapper Extensions
    抽象类
    jQuery AutoComplete 实现中文的自动补全
  • 原文地址:https://www.cnblogs.com/jdhu/p/4157739.html
Copyright © 2011-2022 走看看