作者:Carrie
出处:https://home.cnblogs.com/u/hanjiali
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任

echo命令

Shell中的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。

命令格式:

      echo [选项] 内容

echo可以用为普通输出和重定向输出
普通输出

1.显示普通字符串:(引号完全可以忽略)

[root@movie ~]# echo '我是个快乐的Carrie.'
我是个快乐的Carrie.
[root@movie ~]# echo 我是个快乐的Carrie.
我是个快乐的Carrie.
[root@movie ~]# echo "我是个快乐的Carrie."
我是个快乐的Carrie.
[root@movie ~]#

  

2.如果不想忽略,且想显示,需要转义字符

[root@movie ~]# echo "\"我是个快乐的Carrie."\"
"我是个快乐的Carrie."

3.显示变量

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

[root@movie ~]# source test.sh
 It is a test
[root@movie ~]# cat test.sh
#! /bin/bash
i=name
echo "$name It is a test"

4.echo -e(-e 输出转义字符)

不加-e选项的结果
[root@movie ~]# sh test.sh
 It is a test \n 这是一个测试
[root@movie ~]# cat test.sh
#! /bin/bash
i=name
echo "$name It is a test \n 这是一个测试"

加-e的结果
[root@movie ~]# sh test.sh
 It is a test 
 这是一个测试
[root@movie ~]# cat test.sh
#! /bin/bash
i=name
echo  -e "$name It is a test \n 这是一个测试"

常用的转义字符如下:

\b 转义后相当于按退格键(backspace) ,但前提是"\b"后面存在字符

\c 不换行输出,在"\c"后面不存在字符的情况下,作用相当于echo -n

\n 换行

\f 换行

\v 与\f相同;

\t 转以后表示插入tab,即制表符

\r 光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符,只看这段文字描述的话可能不容易理解

\\ 表示插入"\"本身;

6.引号不同结果会不相同

[root@movie ~]# echo 'date'
date
[root@movie ~]# echo `date`
2020年 11月 04日 星期三 18:38:24 CST

  注意: 第一个是单引号,第二个是反引号

重定向输出

    重定向输出顾名思义就是改变其输出的位置

1.将内容重定向到文件中

需要注意的是重定向后,文件原来的内容就会被覆盖

[root@movie ~]# cat test.sh
#! /bin/bash
i=name
echo -e "$name It is a test \n 这是一个测试"
[root@movie ~]# echo 'Carrie' > test.sh 
[root@movie ~]# cat test.sh 
Carrie

  

 

posted on 2020-11-04 18:48  不吃葡萄楞吐皮  阅读(327)  评论(0编辑  收藏  举报