Shell-终端打印

xiaoxiao2021-02-28  56


参考书籍 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中-表示左对其,若不用-指定对其形式,则默认使用右对其形式。数字指定了宽度。
转载请注明原文地址: https://www.6miu.com/read-2627829.html

最新回复(0)