shell学习整理(2)-终端打印

本文介绍了Shell中用于打印的`echo`和`printf`命令。`echo`命令支持打印内容,包括变量替换和转义序列,而`printf`则提供格式化输出,允许指定字符串宽度、对齐方式。通过示例,展示了如何使用颜色码实现彩色输出以及如何利用`printf`进行精度控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

与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个小数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值