首页 » 信息技术 »

echo命令

2019年2月18日 / 282次阅读
Linux常用命令

Linux Shell的echo命令很常用,不过有些细节还是要注意理解,本文通过代码实例来说明。

[xinlin@ifos ~]$ echo Iamme
Iamme
[xinlin@ifos ~]$ echo i am me
i am me
[xinlin@ifos ~]$ echo i am       me
i am me

echo可以接一个没有空格的字符串;

echo命令也可以接有多个参数,显示出来后,每个参数之间有一个空格;

命令参数之间的空格可以是多个。

命令参数之间多个空格,是Bash接收命令的一个共性,多个空格都当成一个空格来处理,如cat命令:

[xinlin@ifos ~]$ ll
total 12
-rw-rw-r--. 1 xinlin xinlin 13 Feb 17 20:05 t2.sh
-rw-rw-r--. 1 xinlin xinlin 22 Feb 17 20:05 t.sh
-rw-rw-r--. 1 xinlin xinlin 43 Feb 17 19:18 t.txt
[xinlin@ifos ~]$ cat t.sh         t2.sh
ftest(){
return 123
}
ktest(){
:
}

再来一个示例:

[xinlin@ifos ~]$ str='i am a wide        string'
[xinlin@ifos ~]$ echo $str
i am a wide string
[xinlin@ifos ~]$ echo "$str"
i am a wide        string

str变量的内容是不包含前后的引号的,不管是单引号还是双引号,引号不是变量的内容。

因此,echo $str,就是直接将str的内容替换,然后echo,效果就成了每个单词之间只有一个空格的显示。

而,echo "$str",将str内容替换后,再包上双引号(这里不能是单引号哦...),双引号和之间的内容就成了一个整体,所以里面的空格就全部显示出来了。

 

Bash接收的是命令,命令与参数之间用空格分开,多个空格当成一个空格。关于空格,说一下read命令;

read命令会set一个变量,会把输入时前后的空格全部自动去掉,但是中间的空格会保留,就像上面的示例:

[xinlin@ifos ~]$ echo -n 'input:';read jkk
input:a   b   c
[xinlin@ifos ~]$ echo ${jkk}
a b c
[xinlin@ifos ~]$ echo "${jkk}"
a   b   c

参数 -n ,在echo命令使用的频率很高,它表示不要换行。

 

如何使用echo命令进行多行的输入?

使用引号,单引号双引号都可以,只是单引号不展开变量。

[xinlin@promote ~]$ echo 'abcde
> 12345
> abcde'
abcde
12345
abcde

如何将echo命令的多行输入,直接写入文件?

老办法呀,重定向符号,> or >>

[xinlin@promote ~]$ a=1988
[xinlin@promote ~]$ echo "i am born
> at ${a}" > birth.txt
[xinlin@promote ~]$ cat birth.txt
i am born
at 1988

还可以使用 -e 参数,将字符串中的backslash进行解码:

xinlin@ubuntu:~/test$ echo -e '12345\nabcde' > echotest.txt
xinlin@ubuntu:~/test$ cat echotest.txt
12345
abcde

关于echo命令,get到了吧。

本文链接:https://www.maixj.net/ict/echo-20208

相关文章

留言区

《echo命令》有2条留言

  • 麦新杰

    echo的输出,常常被用来当做其它程序的输入! []

  • 麦新杰

    简单的文本输出用echo,复杂格式的输出用printf。 []


前一篇:
后一篇:
-->只要几分钟回答问卷,就能轻松赚现金!

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

go to top