Linux基础命令-echo输出信息

文章目录

前言

一、echo命令介绍

二、命令语法及参数

 三、参考实例

总结


前言

         初学linux都会接触到这个echo命令,因为这个echo的用处实在太大了,不管说日常使用上还是写shell脚本中,都是需要用到的;echo命令可以输出用户要显示在屏幕上的信息、显示环境变量的值、搭配重定向还能写入信息,还能用来判断上一条命令的对错,一起看看吧。

一、echo命令介绍

        echo是用于终端设备上输出指定的字符串信息或显示变量的值的命令,能够给用户一些简单的提醒信息,也可以讲输出的指定字符串内容同管道符一起传递给后续命令作为标准输入信息再来进行二次处理,又或者同输出重定向一起操作,将信息直接写入到文件中。

小提示:如需提取变量值,需在变量名称前加入$符号做提取,变量名称一般均为大写形式。

二、命令语法及参数

1)通过用--help查看echo命令,发现不是想得到的信息,其实是因为echo是内置命令,所以help要写在命令前面。

语法:echo 【参数】字符串/变量

[root@localhost ~]# echo --help
--help
[root@localhost ~]# help echo
echo: echo [-neE] [参数 ...]
    将参数写到标准输出。
    
    在标准输出上显示 ARG 参数后跟一个换行。
    
    选项:
      -n	不要追加换行
      -e	启用下列反斜杠转义的解释
      -E	显式地抑制对于反斜杠转义的解释
    
    `echo' 对下列反斜杠字符进行转义:
      \a	警告(响铃)
      \b	退格
      \c	抑制更多的输出
      \e	转义字符
      \f	格式提供
      \n	换行
      \r	回车
      \t	横向制表符
      \v	纵向制表符
      \\	反斜杠
      \0nnn	以 NNN (八进制)为 ASCII 码的字符。 NNN 可以是
    	0到3个八进制数字
      \xHH	以 HH (十六进制)为值的八比特字符。HH可以是
    	一个或两个十六进制数字

可以看到的是echo命令是可以对字符信息转义的,这里需要加上echo -e的参数才行。

2)常用参数

-n 不输出结尾的换行符
-e “\a” 发出警告音
-e “\b” 删除前面的一个字符
-e “\c” 结尾不加换行符
-e “\f” 换行,光标仍停留在原来的坐标位置
-e “\n” 换行,光标移至行首
-e “\r” 光标移至行首,但不换行
-E 禁止反斜杠转义,与-e参数功能相反

 三、参考实例

1)将内容输出到屏幕上

[root@localhost ~]# echo "hello world"
hello world

2)内容不进行换行,可以看到内容与第二行之间没有换行。

[root@localhost ~]# echo -n "hello world"
hello world[root@localhost ~]# 

3)使用-E参数,加上了转义的参数没有什么变化

[root@localhost ~]# echo -E "hello world\tthis is linux"
hello world\tthis is linux
[root@localhost ~]# echo -e "hello world\tthis is linux"
hello world	this is linux

4)输出环境变量的内容,若加了转义符\会发现echo 不输出它原有的信息。

[root@localhost ~]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin
[root@localhost ~]# echo $HISTSIZE
1000

[root@localhost ~]# echo $USER
root
[root@localhost ~]# echo \$USER
$USER

要查看系统中有哪些环境变量可以用env命令

[root@localhost ~]# env
XDG_VTNR=1
SSH_AGENT_PID=2070
XDG_SESSION_ID=1
HOSTNAME=localhost.localdomain
IMSETTINGS_INTEGRATE_DESKTOP=yes
VTE_VERSION=5204
TERM=xterm-256color
SHELL=/bin/bash
XDG_MENU_PREFIX=gnome-
HISTSIZE=1000
......
COLORTERM=truecolor
XAUTHORITY=/run/gdm/auth-for-root-FTjRUg/database
_=/usr/bin/env

5)echo配合重定向一起使用,表示写入信息到文件中。

[root@localhost ~]# echo "hello world" > file.txt
[root@localhost ~]# cat file.txt 
hello world

6)如果不清楚上一条命令执行是否成功,可以通过$?确认,正确为0,有问题的为非0值。

[root@localhost ~]# ls
anaconda-ks.cfg  file.txt  公共  模板  视频  图片  文档  下载  音乐  桌面
[root@localhost ~]# echo $?
0
[root@localhost ~]# sl
bash: sl: 未找到命令...
相似命令是: 'ls'
[root@localhost ~]# echo $?
127

7)echo输出带有换行符的内容

[root@localhost ~]# echo -e "apache\nphp\nmysql"
apache
php
mysql

8)echo -e 其他反斜杠字符用法

[root@localhost ~]# echo -e "\rhello world"     #-r光标移至行首,不换行
hello world
[root@localhost ~]# echo -e "he\rllo world"
llo world
[root@localhost ~]# echo -e "hello world\a"     #发出警告
hello world
[root@localhost ~]# echo -e "hello\b world"     #-b删除前一个字符
hell world
[root@localhost ~]# echo -e "hello\f world"     #换行,且光标停留在原来的坐标位置
hello
      world
[root@localhost ~]# echo -e "hello wor\tld"
hello wor	ld
[root@localhost ~]# echo -e "hello wor\fld"
hello wor
         ld
[root@localhost ~]# echo -e "hello world\c"     #结尾不加换行符
hello world[root@loc

总结

        echo的参数并不是很多,还是值得去记一记和了解其他更多的用法,学习命令最重要就是要记住用法和常用参数,俗话说好记性不如烂笔头,多敲亦能熟能生巧。

你可能感兴趣的:(基础命令,linux,运维,服务器,命令模式)