Shell-终端打印


参考书籍 Linux shell 脚本攻略


能够执行打印的方法有很多,格式也各不相同,主要有如下几个:
* echo
* printf

echo命令

echo是用于终端打印的基本命令。
* 默认情况下,echo在每次调用后会添加一个换行符。可使用标志-n来忽略结尾的换行符。
* 可接受双引号字符串内的转义序列作为参数,采用echo -e "包含转义序列的字符串"的形式。如: echo -e "1\t2\t3"
* 三种打印方法:

$ echo "Hello world" #带双引号的文本
Hello world
$ echo Hello world #不带双引号的文本
Hello world
$ echo 'Hello world' #带单引号的文本
Hello world

每种方法的副作用如下:
* 如果希望打印 !号,就不要将其放入双引号,或者加入转义字符\!转义

$ echo Hello world!
$ echo 'Hello world!
$ echo "Hello world\!"
  • 不带引号的echo中,无法在要显示的文本中使用分号;
  • 使用单引号的echo时,Bash不会对单引号中的变量求值,而只是原样显示
$ var=3
$ echo '$var'
$var
$ echo "$var"
3
printf命令

printf使用的参数和C语言中的printf函数一样。
* printf使用引用文本或由空格分隔的参数。
printf可使用格式化字符串,可以指定字符串的宽度、左右对其方式等。
* 不会自动添加换行符,需要在需要的时候手动添加

#!/bin/bash
#文件名: printf.sh
printf "%-5s %-10s %-4s \n" No Name Mark
printf "%-5s %-10s %-4.2f\n" 1 Sarach 80.3456
printf "%-5s %-10s %-4.2f\n" 2 James 90.9989

格式化输出如下:

No    Name       Mark
1     Sarach     80.35
2     James      91.00
  • %s %c %d %f都是格式替代符,其所对应的参数可以置于带引号的格式字符串之后。
  • %-5s-表示左对其,若不用-指定对其形式,则默认使用右对其形式。数字指定了宽度。
回答: 在shell脚本中,可以使用printf命令向终端打印输出。与echo命令不同,printf命令可以控制输出的格式,比如字符串的宽度、左右对齐方式等。可以使用以下语法来使用printf命令:printf "格式字符串" 参数1 参数2 ... \[1\]。例如,下面的脚本使用printf命令向终端打印表格形式的输出: #!/bin/bash printf "%-5s %-10s %-4s\n" No. Name Mark printf "%-5s %-10s %-4.2f\n" 1 Curry 92.32 printf "%-5s %-10s %-4.2f\n" 2 James 94.87 printf "%-5s %-10s %-4.2f\n" 3 Kevin 91.89 这个脚本会输出一个包含编号、姓名和分数的表格。每个字段的宽度可以通过格式字符串中的参数来控制,例如%-5s表示字符串宽度为5个字符,并且左对齐。\[1\] #### 引用[.reference_title] - *1* [【脚本语言】Shell Script - 终端打印指令](https://blog.csdn.net/weixin_42839065/article/details/131584387)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Shell 采集终端信息](https://blog.csdn.net/yetyongjin/article/details/123989784)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值