• 技术文章 >运维 >linux运维

    echo在linux里是什么意思

    藏色散人藏色散人2023-03-02 10:23:15原创150

    echo在linux里是一个用于字符串输出的命令;echo命令的语法是“echo [-neE] [arg ...]”,其中参数“-n”表示输出字符串不换行,参数“-e”表示对于转义字符按对应的方式进行处理,参数“-E”表示禁用转义解释。

    本教程操作环境:linux5.9.8系统、Dell G3电脑。

    echo在linux里是什么意思?

    linux命令:echo

    Shell中的echo命令类似于php中的echo命令,都是用于输出。Shell中另有一个输出命令为printf命令

    本文中的一系列实例用到的命令我都是在终端直接写的,输出也是输出在终端,这样方便学习和记录吧!其实也都可以放到脚本文件中执行。

    一、语法

    echo [-neE]  [arg ...]

    (1)含义
    -n:表示输出字符串不换行
    -e:表示对于转义字符按对应的方式进行处理(若不加-e ,那么在输出时转义字符会按照普通字符进行处理,并不会达到自己想要达到的目的。)
    -E:禁用转义解释

    转义字符含义
    \b删除前一个字符
    \n换行
    \t水平制表符(tab)
    \v垂直制表符(tab)
    \c\c后面的字符将不会输出,输出完毕后也不会换行
    \r光标移动到首行,不换行
    \f换行,光标停在原处
    \e删除后一个字符
    \输出\
    \0nnn输出八进制nnn代表的ASCII字符
    \xHH输出十六进制数HH代表的ASCII字符
    \a输出一个警告的声音

    (2)实例

    [root@localhost my_shell]# echo "hello "hello 
    [root@localhost my_shell]# echo -n "hello "hello [root@localhost my_shell]# echo  "hello \b"hello \b[root@localhost my_shell]# echo -e "hello \b"hello 
    [root@localhost my_shell]# echo -en "hello \b"hello[root@localhost my_shell]# echo -e "hello\tworld"hello	world[root@localhost my_shell]# echo -e "hello\nworld"hello
    world[root@localhost my_shell]# echo -e "hello\vworld"hello
         world[root@localhost my_shell]# echo -e "hello\cworld"hello[root@localhost my_shell]# echo -e "hello\rworld"world[root@localhost my_shell]# echo -e "hello\aworld"helloworld[root@localhost my_shell]# echo -e "hello\cworld"hello[root@localhost my_shell]# echo -e "\ehelloworld"elloworld[root@localhost my_shell]# echo -e "hello\\world"hello\world[root@localhost my_shell]# echo -e "\x31"1[root@localhost my_shell]# echo -e "\0123"S

    (3)具体用法
      上面介绍的主要是一些输出字符串相关的具体用法,下面详细例举一些echo命令的其他用法。
    1、显示普通字符串

    [root@localhost ~]# echo "hello world"hello world[root@localhost ~]# echo hello worldhello world#双引号可以省略,效果一致。(字符串的输出都是如此,下面一些实例也是可以省略双引号也能达到相同效果)

    2、显示变量
      这里用到read命令(从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量)

    [root@localhost ~]# read nameMichael Zhang[root@localhost ~]# echo "My name is $name"My name is Michael Zhang

    3、显示换行

    [root@localhost ~]# echo -e "hello \nworld"hello 
    world

    4、显示不换行

    #!/bin/shecho -e "OK! \c" # -e 开启转义 \c 不换行echo "hello world"#结果如下OK! hello world

    5、显示转义字符

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

    6、重定向
    结果输出到文件

    echo "hello world" > my_file#将hello world输出到my_file文件

    7、原样输出
    用单引号可原样输出。

    [root@localhost ~]# echo '$name\"'$name\"[root@localhost ~]# echo '$name'$name

    8、显示命令执行结果

    #显示当前日期[root@localhost ~]# echo `date`Sat Jan 2 23:12:39 CST 2021

    这里使用的是反引号`, 而不是单引号’。
    实际上输出一些执行命令的结果就是这样用反引号。

    二、echo的重定向

    重定向是Shell中的一个重要内容。
    echo命令的重定向功能经常被用于清空文件内容(删除文件)时使用

    (1)echo "content" > filename
    将content覆盖到filename文件当中去,filename文件当中之前的内容不复存在了,实际上是修改了原文件的内容。

    (2)echo "content" >> filename
    将content追加到filename文件后,对filename文件之前的内容不修改,只进行增添,也叫追加重定向。

    (3)实例

    [root@localhost my_shell]# touch test[root@localhost my_shell]# cat test [root@localhost my_shell]# lltotal 4-rw-r--r-- 1 root root 175 Nov  6 17:46 del.sh
    -rw-r--r-- 1 root root   0 Nov  7 23:33 test[root@localhost my_shell]# echo "123456" > test[root@localhost my_shell]# cat test123456[root@localhost my_shell]# echo "111111" > test[root@localhost my_shell]# cat test111111[root@localhost my_shell]# echo "123456" >> test[root@localhost my_shell]# cat test111111123456[root@localhost my_shell]#

    推荐学习:《Linux视频教程

    以上就是echo在linux里是什么意思的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:echo linux
    上一篇:SELinux查看策略规则的方法有哪些 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • linux mtu是什么• linux中free是什么• linux文件系统是什么结构• linux系统中以什么方式访问设备• SELinux查看策略规则的方法有哪些
    1/1

    PHP中文网