• 爱情文章
  • 亲情文章
  • 友情文章
  • 生活随笔
  • 校园文章
  • 经典文章
  • 人生哲理
  • 励志文章
  • 搞笑文章
  • 心情日记
  • 英语文章
  • 范文大全
  • 作文大全
  • 新闻阅读
  • 当前位置: 山茶花美文网 > 友情文章 > 正文

    终端模拟器执行脚本 [Linux,Shell脚本系列教程(二):终端打印命令详解]

    时间:2020-05-22来源:山茶花美文网 本文已影响 山茶花美文网手机站

    这篇文章主要介绍了Linux Shell脚本系列教程(二):终端打印命令详解,本文着重讲解了echo终端打印、printf终端打印两个打印出输出命令,需要的朋友可以参考下

    终端打印

    终端是交互式工具,用户可以通过它与shell环境进行交互。在终端中打印文本是大多数shell脚本和工具日常需要执行的基本任务。通过终端打印,人们可以知道系统的运行状态,这对用户来说是至关重要的。

    echo终端打印

    代码如下:

    echo "Welcome to Bash"

    echo "Welcome to Bash"

    echo Welcome to Bash

    以上三种方法的效果是一样的,输出内容都是“Welcome to Bash”,并在末尾添加换行符。在默认情况下,echo在每次调用后会添加一个换行符,而无需手动输入换行符。此处,建议养成一种习惯,对于其他的方法了解即可。

    使用双引号时的限制

    使用双引号输出字符串时,字符串内不能含有特殊字符(!),或者要在特殊字符前加转义字符。使用单引号或者不使用引号,也可以正常输出特殊字符。

    代码如下:

    echo "cannot include !" #这种情况下将会报错

    echo "cannot include !" #这种情况下可以正常输出!

    echo cannot include ! #这种情况下可以正常输出!

    echo "cannot include !" #这种情况下可以正常输出!

    使用单引号的限制

    在使用单引号输出字符串时,变量替换将会失效。使用双引号或者不使用引号可以正常输出被替换的变量。

    代码如下:

    var="abcd"

    echo "1234$var" #这种情况下将输出 1234$var

    echo 1234$var #这种情况下将输出 1234abcd

    echo "1234$var" #这种情况下将输出 1234abcd

    不使用引号时的限制

    在不使用引号输出字符串的情况下,无法显示分号(;),因为分号在Bash中被用作命令定界符。使用单引号或者双引号可以输出分号。

    代码如下:

    echo hello;hello #第一个hello被当成字符串输出,第二个被当成命令

    printf终端打印

    printf使用的参数和C语言中的printf函数一样,使用引用文本或由空格分隔的参数。在printf函数中,我们可以使用格式化字符串,指定字符串的宽度、左右对齐方式等。在默认情况下,printf不会在行尾添加换行符,需要手动添加。

    代码如下:

    printf "Hello world" #使用引用字符

    printf "%-5s %-10s %-4sn" No Name Mark #指定宽度及左对齐方式

    printf "%-5s %-10s %-4sn" 1 Sarath 80.3456

    工作原理

    %s,%c,%d,%f都是格式替换字符,其所对应的参数可以置于带引号的格式字符串之后。

    %-5s指明了一个格式为左对齐且宽度为5的字符串替换,-表示左对齐,若不指定对齐方式,则默认采用右对齐方式。宽度指定了保留给某个变量的字符数,如果要输出的内容宽度不足,则用空格填充,若多于指定宽度,则超出部分被丢弃。

    %4.2f表示指定小数可以保留两个小数位,要注意的是4并不代表整数部分的位数,也不代表整数位和小数位的和。

    注意:使用echo和printf的命令选项时,要保证选项出现在命令行内所有字符串之前,否者Bash会将选项视为另一个字符串。

    补充内容

    在echo中使用转义字符

    在默认情况下,echo会自动在输出字符串末尾添加换行符,可以使用-n选项来忽略结尾的换行符。echo同样接受双引号字符串内的转义序列作为参数。如果需要使用转义序列,则采用echo -e “包含转义序列的字符串”这种形式,在ubuntu14.04中,不需要添加-e选项,若添加,则-e选项会被作为字符串的一部分输出。

    代码如下:

    echo "Hello World" #将在末尾添加换行符

    echo -n "Hello Wordl" #末尾不会添加换行符

    echo -e "1t2t3" #将输出 -e 1 2 3

    echo "1t2t3" #将输出1 2 3

    打印彩色输出

    在终端中生成颜色输出,有助于我们从大量文本中快速定位特定的信息,我们可以使用转义序列来实现颜色输出。

    每种文本颜色都有对应的颜色码。

    代码如下:

    echo -e "e[1;31m This is red text e[0m"

    echo -e "e[1;41m This is red background e[0m"

    #ubuntu14.04不支持这种方式改变文本或者背景颜色

    • 终端模拟器执行脚本 [Linux,Shell脚本系列教程(二):终端打印命令详解] 相关文章:
    • 爱情文章
    • 亲情文章
    • 友情文章
    • 随笔
    • 哲理
    • 励志
    • 范文大全