在Shell编程过程很多时候会使用echo 并输入到日志文件中。写日志的时候有两种情况,一种是一次写入文件空,再写的时候就将之前的内容给覆盖掉,如何实现追加内容呢?
使用echo创建文件
echo "aaaa" >> hello.txt
以追加的形式打开或创建文件,将字段写入到hello.txt;
echo "aaaa" > hello.txt
将字段写入hello.txt 覆盖之前的文件内容.
在echo创建文件时写入换行
echo -e "aaaa\nbbbb" >> hello.txt
-e 代表执行转义,-E代表禁止转义
1.覆盖写入:
echo "日志内容" > 文件
2.追加写入:
echo "日志内容" >> 文件
3. 换行写入:
echo \ >> 文件 或者
echo -n >> 文件
4. 日期写入:
以下格式是"2016-11-11 14:30:20",其他格式可以自行修改参数。
echo -n 不换行输出
$echo -n "123" $echo "456"
最终输出 123456 而不是 123 456
echo -e 处理特殊字符
若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
$echo -e "a\bdddd" // dddd
$echo -e "a\adddd" // 输出同时会发出报警声音 adddd
$echo -e "a\ndddd" // 自动换行 a dddd
参考:
时间格式命令 https://www.cnblogs.com/mfryf/archive/2012/03/23/2413362.html
https://blog.csdn.net/njjackzhong/article/details/53157997
https://blog.csdn.net/u012516524/article/details/84645830