美文网首页
shell(四)

shell(四)

作者: yyshang | 来源:发表于2017-02-21 15:30 被阅读18次

    Shell echo命令

    Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。
    1.显示普通字符串:

    echo "It is a test"
    

    这里的双引号完全可以省略
    2.显示转义字符

    echo "\"It is a test\""
    

    同样,双引号也可以省略

    3.显示变量
    read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量

    #!/bin/sh
    read name 
    echo "$name It is a test"
    

    以上代码保存为 test.sh,name 接收标准输入的变量,结果将是:

    [root@www ~]# sh test.sh
    OK                     #标准输入
    OK It is a test        #输出
    

    4.显示换行

    echo -e "OK! \n" # -e 开启转义
    echo "It it a test"
    

    输出结果:

    OK!
    
    It it a test
    

    5.显示不换行

    #!/bin/sh
    echo -e "OK! \c" # -e 开启转义 \c 不换行
    echo "It is a test"
    

    输出结果:

    OK! It is a test
    

    6.显示结果定向至文件

    echo "It is a test" > myfile
    

    7.原样输出字符串,不进行转义或取变量(用单引号)

    echo '$name\"'
    

    8.显示命令执行结果

      echo `date`
    

    结果将显示当前日期

    Thu Feb 24 10:08:46 CST 2017
    

    Shell printf 命令
    printf 命令模仿 C 程序库(library)里的 printf() 程序。
    标准所定义,因此使用printf的脚本比使用echo移植性好。
    printf 使用引用文本或空格分隔的参数,外面可以在printf中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认printf不会像 echo 自动添加换行符,我们可以手动添加 \n。
    printf 命令的语法:

    printf  format-string  [arguments...]
    

    参数说明:

    • format-string: 为格式控制字符串
    • arguments: 为参数列表。
      实例如下:
    $ echo "Hello, Shell"
    Hello, Shell
    $ printf "Hello, Shell\n"
    Hello, Shell
    $
    

    Shell test 命令
    Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。

    Paste_Image.png

    实例演示:

    num1=100
    num2=100
    if test $[num1] -eq $[num2]
    then
        echo '两个数相等!'
    else
        echo '两个数不相等!'
    fi
    

    输出结果:

    两个数相等!
    
    Paste_Image.png

    实例演示:

    num1="ru1noob"
    num2="runoob"
    if test $num1 = $num2
    then
        echo '两个字符串相等!'
    else
        echo '两个字符串不相等!'
    fi
    

    输出结果:

    两个字符串不相等!
    
    Paste_Image.png

    实例演示:

    cd /bin
    if test -e ./bash
    then
        echo '文件已存在!'
    else
        echo '文件不存在!'
    fi
    

    输出结果:

    文件已存在!
    

    另外,Shell还提供了与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为:"!"最高,"-a"次之,"-o"最低。例如:

    cd /bin
    if test -e ./notFile -o -e ./bash
    then
        echo '有一个文件存在!'
    else
        echo '两个文件都不存在'
    fi
    

    输出结果:

    有一个文件存在!
    

    相关文章

      网友评论

          本文标题:shell(四)

          本文链接:https://www.haomeiwen.com/subject/mrkuwttx.html