linux 的 echo 与 printf 命令
+++++++++++++++++++++++++++++++++++++++++
标题:Linux 的 echo 与 printf 命令
时间:2020年3月3日
+++++++++++++++++++++++++++++++++++++++++
echo的颜色输出:(前景色和背景色)
前景色的取值为30~37
背景色的取值为40-47
注意:echo命令使用输出带颜色文本,会影响当前shell,所以在使用完成后重置文本颜色
e.g. echo -e "\e[1;31mThis is red color\e[0m"
这里的-e表示使用特殊字符,解释双引号中特殊字符,双引号中内容就会原样输出。
"\e[1;31m"的含义就是定义文本的颜色为红色
"\e[0m"的含义表示为将文本的颜色恢复默认,一般用于字符串的尾部
echo的格式输出:(简单的格式输出)
e.g. echo -e "1111\t2222\t3333\4444"
不同的字段使用制表符进行分割,如果某一列的值的长短变化较大,意义并不是很大
e.g. echo -n "++++++++++++++++++"
-n参数表示文本输出完成后,不进行换行,在shell脚本中有些时候会使用到
printf命令的格式化输出:
常用的格式替换符 常用的转义符
%s 字符串 \n 换行符(printf默认不换行)
%f 浮点格式 \t 水平制表符
%i/d 整数格式 \v 垂直制表符
e.g. printf "%s\n" alice break jack
输出内容换行
e.g. printf "%.2f\n" 100 200 300
输出内容换行,数值保留两位小数
e.g. printf "%s %s\n" break alice jack tom
每行输出两个,然后换行,继续输出
e.g. printf "%-10s %-10s %-10s %-10s\n" break class1 18 25
输出格式为左对齐,不足的位有空格来补充;默认是右对齐