Echo
echo 是用于终端打印的基本命令。
默认情况下, echo 在每次调用后会添加一个换行符。
Example
- 使用双引号
$ echo "Welcome to Bash"
Welcome to Bash
- 使用单引号
$ echo 'Welcome to Bash'
Welcome to Bash
- 直接输出
$ echo Welcome to Bash
Welcome to Bash
但是如果需要打印特殊字符 like: !, ~… 那就不要放在双引号里面,或者在字符之前加上特殊的转义字符(),
$ echo “Welcome to Bash\!" # 将\ 放在前面
# 目前在ubuntu 20.04 lastest version 里面验证 得到结果: 不用\也可以输出 !
$ echo 'Welcome to Bash!'
$ echo Welcome to Bash!
副作用:
- 使用不带引号的echo时,没法在索要现实的文本中使用分号( ; ),因为分号在Bash Shell 里面被用作命令定界符。
- 变量替换在单引号中无效。
Printf
printf 使用的参数和C语言中的printf函数一样。
printf适应引用文本或者空格分隔的参数。 可以在printf中使用格式化字符串,指定狂赌,对齐方式。
默认情况下,printf不向echo命令一样自动添加换行符,必须手动添加。
Example
$ printf "Hello World"
Hello World
#!/bin/bash
#!文件名: printf.sh
printf "%-5s %-10s %-4s\n" No Name Mark
printf "%-5s %-10s %-4.2s\n"1 Sarath 80.3456
printf "%-5s %-10s %-4.ss\n"2 James 90.9998
printf "%-5s %-10s %-4.2s\n"3 Jeff 77.564
输出如下:
No Name Mark
1 Sarath 80.35
2 James 91,00
3 Jeff 77.56
补充内容
- echo 格式
-n 可以将echo默认的换行符忽略掉,
-e 接受双引号内 包括转义序列字符串 的格式输出 echo -e “包含转义的字符串”
$ echo -e "1/t2/t3"
1 2 3
- 彩色打印输出
重置=0, 黑色=30, 红色=31, 绿色=32, 黄色=33, 蓝色=34, 洋红=35, 青色=36, 白色=37.
$ echo -e "\e[31m This is red text \e[0m return to original color"