linux Shell脚本学习笔记一(终端打印)

  1. 终端打印
            shell脚本通常是一个以#!起始的文本文件,如下所示:
                    #! /bin/bash
            脚本运行方式有两种:
            一.将脚本作为命令行参数时的运行方式如下:
                    $ sh script.sh #假设脚本位于当前目录下
                    或者
                    $ sh /home/path/script.sh #使用script.sh 的完整路径
            二.将脚本作为具有执行权限的可执行文件:
                    先让脚本具有可执行权限,可以通过一下方式设置
                    $ chmod a+x script.sh
                    该命令赋予所有用户script.sh文件的可执行权限。这个脚本能以下列方式执行:
                    $ ./script.sh # ./表示当前目录
                    或者
                    $ /home/path/script.sh # 使用脚本的完整路径
                    shell程序读取脚本的首行,查看shebang行是否为#!/bin/bash。他会识别/bin/bash,并在内部以
    如下命令行执行该脚本:
                    $ /bin/bash script.sh
            在bash中,每个命令或者命令序列是通过使用分号或换行符来分割的。比如:
            $ cmd1; cmd2
            它等同于
            $ cmd1
            $ cmd2
            字符#指明注释的开始。注释部分以#为起始,一直延续到行尾。注释行通常用户为代码提供注释信息,或者
    注释掉某行代码,暂不执行。

            三.实战演练
            echo 是用于终端打印的基本命令。
            在默认情况下,echo在每次调用后会添加一个换行符。
            $ echo "Welcome to Bash"
            Welcome to Bash

    只需要使用带双引号的文本,结合echo命令就可以将该文本在终端中打印出来。类是地,不带双引号的文本
    也可以得到同样的输出效果:
            $ echo Welcome to Bash
            Welcome to Bash
            使用单引号也可以完成同样的任务:
            $ echo 'text in quote'
            如果需要打印!,要么不要放在双引号之中,或者在其前面加一个特殊的转义字符(\)将!转义。
            另一个可用于终端打印的命令是printf。printf使用的参数和C语言中的printf函数一样。例如:
            $ printf "Hello World"

            四.补充内容
            一定要留神的是echo和printf中的标志(如-e,-n等)应该出现在命令行内任何字符串之前,否则Bash会将>其视为另外一个字符串。

            one.在echo中转义换行符
            在默认情况下,echo会将一个换行符追加到输出文本的尾部。可以使用标志-n来忽略结尾的换行符。echo同
    样接受双引号字符串内的转义序列(escape sequence)作为参数。如果需要使用转义序列,则采用echo -e“包含转义>序列的字符串”这种形式。例如:
            echo -e "1\t2\t3"
            1       2       3

            two.打印彩色输出
            在终端中生成彩色输出相当好玩,我们可以使用转义序列来实现。
            每种颜色都有对应的颜色码。比如:重置=0,黑色=30,红色=32,绿色=32,黄色=33,蓝色=34,洋红=35,
    青色=36,白色=37。
            要打印彩色文本,可输入如下命令:
            echo -e "\e[1;31m This is red text \e[0m"
            \e[1;31将颜色设置为红色,\e[0m将颜色重新置回。你只需要将31替换成想要的颜色码就可以了。
            要设置彩色背景,经常使用的颜色码是:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47.

    要打印彩色文本,可输入如下命令:
            echo -e "\e[1;42m Green Background \e[0m"

            关于颜色的设置它也有一个公式

            颜色=\033[代码;前景;背景m



你可能感兴趣的:(linux,shell,终端打印,打印彩色输出)