linux命令_echo
echo
echo 命令是 Linux bash 和 C shell中最常用的内置命令之一,通常用于脚本语言和批处理文件,用于标准输出以及显示文本内容等。echo命令在生产环境脚本中还是使用的非常多的,很多时候都要查看脚本执行是否正常,以及脚本执行到哪里,都是通过echo命令来打印来定位 。
在写脚本之前,我们需要学习一下 Linux 的打印命令 echo。该命令格式如下:
[root@localhost ~]# echo [选项] [输出内容]
选项:
- -e:支持反斜线控制的字符转换
- -n:取消输出后行末的换行符号(内容输出后不换行)
示例1:普通打印
[root@localhost ~] echo ivanlee
ivanlee
[root@localhost ~] echo 'ivanlee'
ivanlee
[root@localhost ~] echo "ivanlee"
ivanlee
示例2: -n选项
取消换行符之后输出内容和新的输入框紧挨着
示例3: -e选项
控制字符 | 作用 |
---|---|
\\ |
输出\ 本身这个字符 |
\a |
输出警告音 |
\b |
退格键,也就是向左删除键 |
\c |
取消输出行末的换行符。和“-n”选项一致 |
\e |
Esc键 |
\f |
换页符 |
\n |
换行符 |
\r |
回车键,光标移至行首,但不换行 |
\t |
插入 tab制表符,Tab键 |
\v |
垂直制表符 |
\0nnn |
按照八进制 ASCII 码表输出字符。其中 0 为数字 0,nnn 是三位八进制数 |
\xnn |
按照十六进制 ASCH 码表输出字符。其中 hh 是两位十六进制数 |
-
echo -e "\\ \a"
输出斜杠本身,以及会听到“bo~”的一声警告音ivanlee[root@localhost ~] echo -e "\\ \a" \
-
echo -e "ab/bc"
会输出ac,因为\b
代表向左删除一个键[root@localhost ~] echo -e "ab\bc" ac [root@localhost ~] echo -e "123\b\b4567" 14567
-
`echo -e "123456\c" 换行
[root@localhost ~] echo -e "1234456\c" 1234456[root@localhost ~]#
-
echo -e "ivan\elee"
终止输出[root@localhost ~] echo -e "ivan\elee" ivan
-
echo -e "ivan\nlee"
换行输出[root@localhost ~] echo -e "ivan\nlee" ivan lee
-
echo -e \r
使用 echo 命令输出 "\r" 转义字符,表示使用 "\r" 后面的字符覆盖 "\r" 之前的同等长度的字符。[root@localhost ~] echo -e "12345\r6789" 覆盖等长的长度! 67895 [root@localhost ~] echo -e "12345\r56789" 56789
-
echo -e \t
输出内容会成为表格的形式[root@localhost ~] echo -e "a\tb\tc\nd\te\tf\n" | a b c | d e f | ------------------------------------------------|-------------------- | [root@localhost ~] echo -e "\0141\t\0142\t\0143\n\0144\t\0145\t\0146" | a b c | d e f | 还是会输出上面的内容,不过是按照制ASCII码输出的 | ---------------------------------------------------------------|------| [root@localhost ~] echo -e "\x61\t\x62\t\x63\n\x64\t\x65\t\x66"| a b c | d e f | 如果按照十六进制ASCII码同样可以输出 |
-
echo -e -v
[root@localhost ~] echo -e "a\vb\vc\nd\ve\vf" a b c d e f
示例4:ls功能
-
echo *
会输出当下目录的所有文件和子目录,不过不会换行[root@localhost etc] echo * adjtime aliases aliases.db alternatives ambot-installing ambot-install-machine ambot-machine-id anacrontab asciidoc asound.conf audisp audit bash_completion.d bashrc binfmt.d centos-release centos-release.bak centos-release-upstream chkconfig.d cron.d cron.daily
示例5:打印内容中带有双引号
[root@localhost etc] echo "hello \"world\""
hello "world"
示例6:重定向到文件+时间表示法
[root@localhost ~] echo $(date)
Tue May 24 11:15:05 CST 2022
[root@localhost ~] echo $(date "+%Y-%m-%d %H:%M:%S")
2022-05-24 11:15:17
[root@localhost ~] echo $(date "+%Y-%m-%d %H:%M:%S") > time.txt 文件不存在时会自动创建文件
[root@localhost ~] cat time.txt
2022-05-24 11:15:35
示例7:颜色输出
命令行方式echo -e "\e[背景颜色;文字颜色;显示方式m字符串\e[0m"
echo -e "\033[41;37m ivanlee \033[0m"
, 其中41的位置代表底色, 37的位置是代表字的颜色
注:
1、字背景颜色和文字颜色之间是英文的“""”
2、文字颜色后面有个m
3、字符串前后可以没有空格,如果有的话,输出也是同样有空格
字体颜色 格式:echo -e "\033[fontcolor;字符串内容\033[0m"
背景着色 格式:echo -e "\033[backcolor; 字符串内容\033[0m"
同时设置字体和背景颜色 格式:echo -e "\033[backcolor;fontcolor 字符串内容\033[0m"
颜色具体内容:
文字 背景
黑色: 30 40
红色: 31 41
绿色: 32 42
黄色: 33 43
蓝色: 34 44
粉色: 35 45
青色: 36 46
白色: 37 47
灰色: 38 48
特殊情况:
97(文字):比37更浅的白色
90,92,93,94,96(文字):不同深浅的灰色
91(文字):橙色
95(文字):紫色
文字为41-47时,文字颜色为灰色,背景颜色为31-37的颜色
最后面控制选项说明
\033[0m 关闭所有属性
\033[1m 设置高亮度
\033[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m — \33[37m 设置前景色
\033[40m — \33[47m 设置背景色
\033[nA 光标上移n行
\033[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\033[?25h 显示光标
-
无属性输出
-
闪烁 一直闪烁
本文来自博客园,作者:ivanlee717,转载请注明原文链接:https://www.cnblogs.com/ivanlee717/p/16305161.html