Shell中echo命令的用法
echo -n 表示不换行输出
echo -e 输出转义字符,将转义后的内容输出到屏幕上
常用的转义字符如下:
\b
转义后相当于按退格键(backspace) ,但前提是"\b"后面存在字符; "\b"表示删除前一个字符, "\bb"表示删除前两个字符。
1 2 3 4 | [root@localhost ~]# echo -e "12345\b67" 123467 [root@localhost ~]# echo -e "12345\b\b67" 12367 |
\c
不换行输出,在"\c"后面不存在字符的情况下,作用相当于 echo -n; 但是当"\c"后面仍然存在字符时, "\c"后面的字符将不会被输出。
1 2 | [root@localhost ~]# echo -e "12345\c67" 12345 |
\n
换行,被输出的字符从"\n"处开始另起一行。
1 2 3 | [root@localhost ~]# echo -e "12345\n67" 12345 67 |
\f
换行,但是换行后的新行的开头位置连接着上一行的行尾;
1 2 3 | [root@localhost ~]# echo -e "12345\f67" 12345 67 |
\v
与\f相同;
1 2 3 | [root@localhost ~]# echo -e "12345\v67" 12345 67 |
\t
转义后表示插入tab,即横向制表符;
1 2 | [root@localhost ~]# echo -e "12345\t67" 12345 67 |
\r
光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符;但是当"\r"后面不存在任何字符时, "\r"前面的字符不会被覆盖;
1 2 | [root@localhost ~]# echo -e "12345\r67" 67345 |
\\
表示插入"\"本身
1 2 | [root@localhost ~]# echo -e "12345\\67" 12345\67 |
1 | [root@localhost ~]# i=`echo "11,22,33,44"` |
1 2 | [root@localhost ~]# echo ${i%,*} 11,22,33 |
//从最后倒数到最短的匹配部分(用)后面的逗号的地方被删除
1 2 | [root@localhost ~]# echo ${i%%,*} 11 |
//从最后倒数到最长的匹配部分(用号)后面的逗号的地方都被删除
1 2 | [root@localhost ~]# echo ${i#*,} 22,33,44 |
//从开头到最短的匹配部分(用#)后面的逗号的地方被删除
1 2 | [root@localhost ~]# echo ${i##*,} 44 |
//从开头到最长的匹配部分(用#)后面的逗号的地方被删除
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现