zoukankan      html  css  js  c++  java
  • linux 下shell程序(二)

    输入和输出

          输入指的是Shell程序读入数据。有从文件读取、从用户输入读取等方式读入数据。输出指的是Shell程序的运行

    结果的处理,可以显示到屏幕或保存到文件。

    用ceho命令输出结果

    echo $str         #将结果输出到终端。

    echo $str >file  #将结果保存到文件file中,如果没有文件会新建一个文件。如果已经有文件则会覆盖以前的文件

    echo $str >>file  #将结果追加到文件file中。

    echo输出的内容可以有下面的格式控制字符。

    c:末尾加上c表示这一行输出完毕以后不换行。

    :输出一个跳格,相当于按下Tab键

    :输出一个换行。

        需要注意的是,如果要输出特殊字符,必须加-e选项,否则会直接输出字节。加-n选项可以禁止echo输出后的换

    行。

    用read命令读取信息

    read命令可以从键盘或文件中读入信息,并赋给一个变量。read命令读取信息的各种方法如下所示:

    1.如果只读入一个变量,会把键盘上输入的所有信息赋值给这个变量。按Enter键结束输入。

    2.如果输入多个变量,则用空格键将输入的变量隔开。如果输入变量的个数多于需要读取变量的

    个数,将会把剩余的变量赋值给最后一个变量。

    3.在读取语句后面添加<filename(文件名),表示从文件中读取数据,并且赋值给变量。

     测试语句

          这里所说的测试是对变量的大小、字符串、文件属性等内容进行判断。test命令可以用于字符串、数

    字、文件状态等内容的测试。

    文件状态测试

         文件状态测试指的是对文件的权限、有无、属性、类型等内容进行判断。与其他语言不同的是,test命令的

    测试结果,返回0时表示测试成功。返回1时表示测试失败。

    -d  测试文件是否是目录文件       -s  测试文件是否非空

    -f  测试文件是否是正规文件        -w 测试是否可写

    -L 测试文件是否是符号连接        -u  测试文件是否是suid位设置

    -x 测试文件是否可执行              -r 测试文件是否可读

    数值测试

          数值测试指的是比较两个数值的大小或相等关系,相当于c语言中的比较运算符。Shell程序中的数值测试有

    下面两种形式。

         1.用test命令。用test命令和相应的参数可以对两个数值得关系进行测试,使用方法如下所示:

     test 第一个操作数   数值比较符  第二个操作数

        2.用中括号代替test命令。这种方法和test命令的原理相同,使用方法如下所示。需要注意的

    是【后面一定要有一个空格】:

    第一个操作数   数值比较符   第二个操作数

        -eq:  两个数是否相等                         -ne:  两个是否不相等

        -le:   第一个数是否不大于第二个数        -ge:   第一个数是否不小于第二数

        -gt:    第一个数是否大于第二个数           -lt:   第一个数是否小于第二个数

    上图所示,终端中显示的结果为1,表示测试结果是3和5不相等。

    终端中显示的结果为0,表示10小于12为真。

     字符串测试

          字符串测试,指的是比较来那个字符串是否相等,或者判断一个字符是否为空。这种判断常用来测试用户

    输入是否符合程序的要求。

    test 字符串比较符 字符串

    test 字符串 1 字符串比较符 字符串 2

    [ 字符串比较符 字符串 ]

    [ 字符串1  字符串比较符 字符串 2 ]

      =:测试两个字符串是否相等。

    !=:测试两个字符串是否不相等

     -Z:测试字符串是否是空字符串

     -n:测试字符串是否是非空字符串

    逻辑测试

          逻辑测试指的是将多个条件进行逻辑运算,它们常用作循环语句或判断语句的条件。Shell程

    序下有下面三种逻辑测试。

    -a:逻辑与,操作符两边均为真时结果为真,否则结果为假。

    -o:逻辑或,操作符两边至少一个为真时,结果为真,否则为假。

    -!:逻辑否,只有条件为假时,返回结果为真。

    终端中显示为0 表明了测试结果为真,因为文件a.txt是可写的。

     流程控制结构

           流程控制结构指的是使用逻辑判断,针对判断的结果执行不同语句或不同的程序部分。这种结构

    是所有编程语言的重要组成部分

     if语句

    if语句是最常用的条件判断语句,它通过一个条件的真假来决定后面的语句是不是执行。最简单的if条件语句如下所示:

    if 条件

         then 命令1

    fi

         在这种结构中,先执行条件判断,如果条件结果为真,则执行then后面的语句,一直到fi。如果条件为假,则跳过

    后面的语句,执行fi后面的语句。

        如果条件判断的结果,只可能是真或假两种值,则可以使用下面的结构。

    if 条件

    then 命令1

    else 命令2

    f I

          在这种结构中,先对条件进行判断,如果判断结果为真,则执行then后面的语句。如果判断结果为假,则执行

    else后面的语句

         如果判断的结果有多种可能,则使用下面的if语句嵌套结构。需要注意的是,if结构必须要有fi进行结束。

    if 条件 1

    then 命令1

    elif 条件 2

    then 命令2

    else 命令3

    f  I

         if语句也可以将then写在if条件之后,中间用分号隔开。  这种语句如下所示:

    if 条件 1:;then 命令1

    elif 条件 2;then 命令2

    else 命令3

    fi

  • 相关阅读:
    第八届蓝桥杯JavaB---承压计算
    JAVA Double去掉科学计数"E"
    最小公倍数和最大公约数
    蓝桥杯练习系统错题总结—(二)
    蓝桥杯练习系统错题总结—(一)
    今日总结及近期做题规划
    算法习题--电缆分割问题(二分法)
    jQuery 事件方法
    jQuery学习(一)
    jquery中的$(document).ready()
  • 原文地址:https://www.cnblogs.com/zqjt2/p/5367864.html
Copyright © 2011-2022 走看看