echo 是用于终端打印的基本命令,默认情况,echo在完成打印后会默认添加一个换行符。
例如:
1.使用双引号情况
echo "Hello,welcome to jianshu"
image.png
2.不使用双引号情况
echo Hello,welcome to jianshu
image.png
3.使用单引号方式
echo 'Hello,welcome to jianshu'
image.png
以上方式看上去相似,但各有特定的用途及副作用;
双引号允许shell解释字符串中出现特殊字符,单引号并不会做任何解释
4.使用双引号打印带特殊字符字符串
echo "Hello,welcome to jianshu!"
image.png
此种情况,可按直接打印或不带双引号或使用转义符号
image.png
printf 打印命令,和C方式打印风格类似
printf "Hello,welcome to jianshu!" 不带换行符
image.png
格式化打印输出
printf "%-5s %-8s %-4s\n" number namespace value
printf "%-5s %-8s %-4s\n" 1 union 7788
printf "%-5s %-8s %-4s\n" 2 overlay 8899
printf "%-5s %-8s %-4s\n" 3 test 7799
image.png
%s、%c、%d和%f都是格式替换符(format substitution character),它们定义了该如何打印后
续参数。%-5s指明了一个格式为左对齐且宽度为5的字符串替换(-表示左对齐)。如果不指明-,
字符串就采用右对齐形式。宽度指定了保留给某个字符串的字符数量。对number而言,其保留宽
度是5。因此,任何namespace字段的内容都会被显示在5字符宽的保留区域内,如果内容不足5个
字符,余下的则以空格填充。