zoukankan      html  css  js  c++  java
  • Linux Shell系列教程之(七)Shell输出

    本文是Linux Shell系列教程的第(七)篇,更多shell教程请看:Linux Shell系列教程

    与其他语言一样,Shell中也有输出操作,而且在实际应用中也是非常重要的,今天就为大家介绍下Shell输出操作。

    Shell输出

    Shell echo命令

    echo命令是Shell的一个内部指令,用于在屏幕上打印出指定的字符串。

    命令格式:

    echo arg

    转义字符

    像其他高级语言一样,Shell也使用反斜杠“”作为转义字符。

    例子:

    echo ""It is a test""

    输出:”It is a test”

    输出变量

    使用echo命令可以直接输出变量,示例如下:

    name="linuxdaxue"
    echo "$name It is a test"

    输出:linuxdaxue It is a test

    如果变量与其它字符相连的话,需要使用大括号({ }),示例如下:

    mouth=8
    echo "${mouth}-1-2009"

    输出:8-1-2009

    输出换行

    echo命令与其他语言一样,使用反斜杠+n(“ ”)来表示换行,示例如下:

    echo "OK!
    "
    echo "It is a test"

    输出:

    OK!
    It is a test

    输出重定向

    Shell可以使用右尖括号(“>”)和两个右尖括号(“>>”)来表示输出的重定向,今天简单介绍下,后期会专门写一篇文件来详细介绍Shell的输入输出重定向操作。

    示例:

    echo "It is a test" > myfile
    #将字符串重定向入myfile这个文件中,myfile中原有内容会被清除
    echo "It is a test" >> myfile
    #将字符串重定向入myfile这个文件中,myfile中原有内容不会被清除,新内容会追加到文件结尾处

    保持原样输出

    echo命令使用单引号“’”可以保持原样输出,不会对内容进行处理。示例如下:

    echo '$name"'

    输出:

    $name”

    输出命令的执行结果

    echo后加用   `   号括起来的命令可以输出命令执行结果。`  这个符号是英文半角状态下键盘tab键上方和波浪线在一起的那个按键,将命令包含在 ` 符号中可以执行该命令,可以使用这一点来进行很多复杂的操作。

    示例:

    echo `date`

    会输出当前时间

    Shell printf命令

    printf 命令用于格式化输出, 是echo命令的增强版。它与C语言的printf非常相似,但是语法上有些不同。

    由于printf命令是由 POSIX 标准所定义,所以移植性要比 echo 好。

    printf命令语法

    printf  format-string  [arguments...]

    format-string 为格式控制字符串,arguments 为参数列表。需注意的一点是,printf不会自动换行,也就是说使用printf命令必须显式的使用’ ’

    对printf命令今天就不展开介绍了,大家可以看C语言中的printf命令,今天主要讲下Shell printf命令与C语言printf命令的区别。

    • printf 命令不用加括号
    • format-string 可以没有引号,但最好加上,单引号双引号均可。
    • 参数多于格式控制符(%)时,format-string 可以重用,可以将所有参数都转换。
    • arguments 使用空格分隔,不用逗号。

    使用举例:

    # format-string为双引号
    $ printf "%d %s
    " 1 "abc"
    1 abc
    # 单引号与双引号效果一样 
    $ printf '%d %s
    ' 1 "abc" 
    1 abc
    # 没有引号也可以输出
    $ printf %s abcdef
    abcdef
    # 格式只指定了一个参数,但多出的参数仍然会按照该格式输出,format-string 被重用
    $ printf %s abc def
    abcdef
    $ printf "%s
    " abc def
    abc
    def
    $ printf "%s %s %s
    " a b c d e f g h i j
    a b c
    d e f
    g h i
    j
    # 如果没有 arguments,那么 %s 用NULL代替,%d 用 0 代替
    $ printf "%s and %d 
    " 
    and 0
    # 如果以 %d 的格式来显示字符串,那么会有警告,提示无效的数字,此时默认置为 0
    $ printf "The first program always prints'%s,%d
    '" Hello Shell
    -bash: printf: Shell: invalid number
    The first program always prints 'Hello,0'
    $

    好了,有关Shell输出 的相关知识就先介绍到这里,大家赶快试验下吧。

    更多shell教程请看:Linux Shell系列教程


  • 相关阅读:
    用ps命令查看进程的内存
    女人
    一个中文系高材生的高水平请假条
    常用元件封装
    premiere 视频滤镜详解
    Start of Authority Record (SOA) (转) Anny
    DNS Record Format and Types Anny
    域名解析的配置文件 /etc/resolv.conf Anny
    System Information Record (HINFO)(转) Anny
    Bug分析:为bug预防奠定基础 (转) Anny
  • 原文地址:https://www.cnblogs.com/waitig/p/5550807.html
Copyright © 2011-2022 走看看