【Linux】echo命令用法详解
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
作者柒号华仔
个人主页欢迎访问我的主页
个人信条星光不问赶路人,岁月不负有心人。
个人方向专注于5G领域同时兼顾其他网络协议编解码协议C/C++linux等感兴趣的小伙伴可以关注我一起交流。
目录
1. echo命令介绍
echo命令是脚本语言中的常用命令作用相当于C语言里面的printf。在shell中可以打印变量的值或者输出指定的字符串可以将结果写入到文件也可以打印在终端。echo命令可以在显示器上显示一段文字起到提示的作用对于调试非常有帮助。
在终端输入help echo即可查看echo的命令详情
2. 命令参数解释
字符 | 含义 |
---|---|
-n | 不自动换行 |
-e | 解释转义字符 |
-E | 不解释转义字符 |
\a | 发出警告声 |
\b | 转义后相当于按退格键(backspace) 但前提是"\b"后面存在字符; “\b"表示删除前一一个字符”\b\b" 表示删除前两个字符。 |
\c | 不换行输出在"\c"后面不存在字符的情况下作用相当于echo -n;但是当"\c"后面仍然存在字符时"\c"后面的字符将不会被输出。 |
\e | escape相当于 \033 |
\E | 与\e相同 |
\f | 换行但下一行内容起始位置和上一行从\f处换行的位置对齐 |
\n | 换行且光标移至行首 |
\r | 换行字符光标移至行首输出\r后面的内容 |
\t | 转以后表示插入tab即横向制表符。 |
\v | 换行但下一行内容起始位置和上一行从\v处换行的位置对齐 |
\ \ | 表示插入""本身。 |
\0nnn | 插入nnn八进制所代表的ASCII字符 |
\xHH | 插入HH十六进制所代表的ASCII数字 |
3. echo使用实例
echo命令使用方法较多我们通过实例来列举常用用法只要参考这些实例即可满足我们日常的编程和调试需要。
3.1 字符串输出
字符串输出到终端显示是最简单的用法。
echo 'Hello World'
3.2 单引号与双引号
echo后的单引号表示强引用单引号里面是什么内容就输出什么而双引号是弱引用变量的值会代替变量名输出。
3.3 转义字符可用
当我们需要使用特殊转义字符时(特殊转义字符见上面命令参数详解表格)需要指定参数-e格式为
echo -e 处理特殊字符
3.4 输出字符串带颜色
在打印log时我们经常要突出显示一些提示文字比如Error用红色Waring用黄色便于第一时间发现问题。
输出文字带颜色需要结合-e选项和“\033”一块使用格式为
echo –e "\033[颜色m 字符串 \033[0m"
3.5 写入文件
以覆盖方式写入文件写入语句会覆盖目标文件原有内容保证文件保存的始终是最新内容。
echo "Hello World" > hello.txt
以追加方式写入文件写入语句不会覆盖目标文件原有内容只会追加在文件末尾。追加方式适用于记录运行log便于后期问题分析。
echo "Hello World" >> hello.txt
两种写入方式区别在于指向符>覆盖>>追加。
3.6 输出时间
获取当前系统时间并输出在打印Log时可以记下当前的系统时间或者在编译程序时可以记下编译时的系统时间便于回溯和版本跟踪。
current_time=$(date "+%Y-&m-%d %H:%M:%S")
echo '['$current_time']'"Hello World" >> hello.txt