与shell环境进行交互的工具,打印主要有两个命令 echo 和 printf
一. echo
$ echo "welocme"
welocme
$ echo welcome
welcome
$ echo 'welcome'
welcome
从上面可以看出,双引号,单引号或者不加引号,都可以打印出来内容,下面介绍区别
1. 如果需要打印!就不要将其放入双引号里,或者放入双引号但是在感叹号之前加转移字符(\)
e.g. $ echo Hello world ! 等同于 $ echo 'Hello world !' 等同于 $ echo “Hello world \!”
2. 不带引号是无法打印分号,因为分号是bash shell中的命令定界符
3. 变量替换在单引号中无效
4. echo接受双印字符串内转移序列做为参数,需要echo -e “包含转移序列的字符串”
e.g.
$ echo -e "1\t2\t3"
1 2 3
$ echo -e "1\n2\n3"
1
2
3
5. 打印彩色输出,常用颜色对应码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝
色=34,洋红=35,青色=36,白色=37。
要设置彩色背景,经常使用的颜色码是:重置=0,黑色=40,红色=41,绿色=42,黄色=43,
蓝色=44,洋红=45,青色=46,白色=47。
e.g.
echo -e "\e[1;31m This is red text \e[0m"
输出红字字体的 This is red text
\e[1;31 将颜色设为红色, \e[0m 将颜色重新置回。只需要将 31 替换成想要的颜色码就可以了
echo -e "\e[1;41m This is red text \e[0m"
输出背景为红色的This is red text
二. printf
printf使用格式化字符串,还可以指定字符串宽度,左右对其等方式。
printf不像echo一样会自动添加换行符,必须手动添加。
$ printf "%-5s %-10s %-4s\n" No Name Mark
No Name Mark
%-5s 表示对应的第一个字符(No)的字符串宽度是5个字符的宽度
\n表示换行
$ printf "%-5s %-10s %-4.2f\n" 1 Sarath 80.3456
1 Sarath 80.35
%-4.2f表示4个域宽输出,保留小数点后2个小数
一. echo
$ echo "welocme"
welocme
$ echo welcome
welcome
$ echo 'welcome'
welcome
从上面可以看出,双引号,单引号或者不加引号,都可以打印出来内容,下面介绍区别
1. 如果需要打印!就不要将其放入双引号里,或者放入双引号但是在感叹号之前加转移字符(\)
e.g. $ echo Hello world ! 等同于 $ echo 'Hello world !' 等同于 $ echo “Hello world \!”
2. 不带引号是无法打印分号,因为分号是bash shell中的命令定界符
3. 变量替换在单引号中无效
4. echo接受双印字符串内转移序列做为参数,需要echo -e “包含转移序列的字符串”
e.g.
$ echo -e "1\t2\t3"
1 2 3
$ echo -e "1\n2\n3"
1
2
3
5. 打印彩色输出,常用颜色对应码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝
色=34,洋红=35,青色=36,白色=37。
要设置彩色背景,经常使用的颜色码是:重置=0,黑色=40,红色=41,绿色=42,黄色=43,
蓝色=44,洋红=45,青色=46,白色=47。
e.g.
echo -e "\e[1;31m This is red text \e[0m"
输出红字字体的 This is red text
\e[1;31 将颜色设为红色, \e[0m 将颜色重新置回。只需要将 31 替换成想要的颜色码就可以了
echo -e "\e[1;41m This is red text \e[0m"
输出背景为红色的This is red text
二. printf
printf使用格式化字符串,还可以指定字符串宽度,左右对其等方式。
printf不像echo一样会自动添加换行符,必须手动添加。
$ printf "%-5s %-10s %-4s\n" No Name Mark
No Name Mark
%-5s 表示对应的第一个字符(No)的字符串宽度是5个字符的宽度
\n表示换行
$ printf "%-5s %-10s %-4.2f\n" 1 Sarath 80.3456
1 Sarath 80.35
%-4.2f表示4个域宽输出,保留小数点后2个小数
本文介绍了Shell中用于打印的`echo`和`printf`命令。`echo`命令支持打印内容,包括变量替换和转义序列,而`printf`则提供格式化输出,允许指定字符串宽度、对齐方式。通过示例,展示了如何使用颜色码实现彩色输出以及如何利用`printf`进行精度控制。
32万+

被折叠的 条评论
为什么被折叠?



