加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Shell 显示命令

发布时间:2023-06-08 13:58:14 所属栏目:教程 来源:
导读:与其他语言一样,Shell 也有字符串的输出及格式化字符的需求,在本章节我们着重讲解 Shell 中的 echo 与 printf 命令,灵活运用这两个命令,基本上就能满足我们在 Shell 编写中的大多数显示输出及格式化字符串的需求
与其他语言一样,Shell 也有字符串的输出及格式化字符的需求,在本章节我们着重讲解 Shell 中的 echo 与 printf 命令,灵活运用这两个命令,基本上就能满足我们在 Shell 编写中的大多数显示输出及格式化字符串的需求。

为什么要用显示命令

在我们编写 Shell 脚本的时候需要为用户提供信息提示以及交互式显示,也存在需要记录脚本的执行日志等,此时都需要我们来根据不同的场景,利用 Shell 的显示命令也称输出命令来满足我们的需求。

1. Shell 显示 echo 命令操作
我们明确了 Shell 显示命令的含义及作用,首选让我们来看 echo 命令及基本操作。

1.1 echo 语法
echo 命令语法非常简单:echo [option] [arguments],其中根据 option 的不同,赋予了 echo 很多强大的功能。

1.2 echo 常用操作

1.2.1 打印普通字符串
通常默认不带参数就是处理打印普通字符串,例如:

[root@master ~]# echo hello shellhello shell

1.2.2 不换行输出
默认 echo 输出普通字符串为自动换行的,如果不想输出自动换行,可以添加选项 -n,例如:

[root@master ~]# echo -n hello shellhello shell[root@master ~]#
我们可以看到此时输出就不自动换行,该需求可以在我们写文件的时候使用。

1.2.3 输出变量
在我们前面讲解变量的时候,有提到过在引用变量的时候可以利用 echo 命令,但是此时需要我们注意单引号与双引号的区别。

单引号

单引号为将变量名原样输出,不引用其的值,例如:

[root@master ~]# STR1=hello shell[root@master ~]# echo '${STR1}'${STR1}
双引号

双引号为引用变量的值进行输出,例如:

[root@master ~]# echo ${STR1}hello shell[root@master ~]# echo ${STR1}hello shell
我们可以发现在终端如果不显式书写引号,默认就为双引号,也就是引用我们变量的值,但是我们在编写 Shell 脚本的时候尽可能地显示写上引号,这样可以避免不必要的异常发生。

1.2.4 -e 转义
echo 命令使用 -e 选项可以开启转义,处理特殊字符。

\n: 换行符号

[root@master ~]# echo -e hello\nshell hello
shell
\t: 制表符,也就是按我们的 tab 键

[root@master ~]# echo -e hello\tshell hello   shell
\r: 回车键,RETURN

[root@master ~]# echo -e hello\r    hello        
\a: 从系统喇叭送出铃声,ALERT

[root@master ~]# echo -e \a
\\:显示反斜线本身

[root@master ~]# echo -e hello \\ shellhello \ shell
\f:FORMFeed,换页字符

[root@master ~]# echo -e hello\fshell hello
     shell
\E:ESCAPE,跳脱键

[root@master ~]# echo -e hello \Eshellhello hell

1.2.5 文件操作
创建文件

可以利用 echo 命令来创建文件,例如:

[root@master ~]# ls test.shls: cannot access test.sh: No such file or directory[root@master ~]# echo hello shell >test.sh[root@master ~]# cat test.sh hello shell[root@master ~]#
如果需要在一个文件中写入简单内容,不用创建文件然后打开,可以直接利用 echo 命令将内容输入到文件中,文件会自动创建。

清空文件

可以利用 echo 来清空文件内容,例如:

[root@master ~]# cat test.sh hello shell[root@master ~]# echo >test.sh [root@master ~]# cat test.sh

1.2.6 感叹号
在 echo 中,如果使用双引号其中带有 ! 则会抛出异常,这是因为默认 Shell 开启了感叹号引用内存中的历史命令,可以利用 set +H 进行关闭,如果不关闭该设置还想使用感叹号,可以使用单引号。

[root@master ~]# echo hello !-bash: !: event not found[root@master ~]# echo 'hello !'hello !

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章