方法一:echo用于终端打印
- 1 默认情况下,echo在每次调用一次后会添加一个换行
1.echo hello world;echo hi
输出结果:
hello
hi
- 2 echo可以结合不带引号的文本、单引号文本、或者单引号文本输出结果
1.echo hello world
输出结果:hello world
2.echo 'hello world'
输出结果:hello world
3.echo "hello world"
输出结果:hello world
echo结合几种情况利弊分析:
1.使用单引号结合echo时,bash不会对单引号中的变量($var)求值,会被原样输出
1.echo 'my age is $var'
输出结果:my age is $var 不会对引号中变量进行求值
2.当输出的文本中包含!使用双引号会报错
1.echo "hello world!"
输出结果:-bash: !": event not found
这时我们可以使用单引号或者不使用引号,或者使用-e进行正常输出
2.echo -e "hello world !"
输出结果:hello world !
方法二:使用printf命令进行终端打印
1 使用printf函数格式化字符串:指定字符串宽度、左右对齐方式等
1.printf "%-5s %c %d %-.2f" hello A 100 4.5
输出结果:hello A 100 4.500000
说明:
1.%s %c %d %f都是格式替代符,符号对应的参数置于带引号格式字符串之后
2.-表示对齐方式为左对齐,如果不加-,默认为右对齐
3.%-5s指明了一个格式为左对齐且宽度为5的字符串替代
4.%-.2f指明了一个格式为左对齐且保留2位小数的浮点数替代
2 默认情况下,printf函数执行后,不会在输出结果后加入换行
1.printf hello;printf 100
输出结果:hello100
补充内容
1 echo中包含转义字符或者想去除调用后自动换行,使用参数-e -n
1.echo -e 'hello \n world'
输出结果:
hello
world 使用参数-e,可以将文本中需要转义的字符,进行转换输出,例如本例中的\n
2.echo -n hello;echo -n world
输出结果:helloworld 将调用后的自动换行去除,输出结果保留在了一行
2 echo可以打印彩色输出
1.echo -e "\033[1;42m Green Background \033[0m"
\033表示的是文字的颜色
1;42m表示的是文字的背景颜色
输出结果:
image.png
这部分感兴趣的同学,可以自己去尝试以下:











网友评论