shell-code-3-echo用法&printf用法

××××××××××××××××××××××××××××××下面是echo×××××××××××××××××××××××××××××××

# read 命令从标准输入(即执行时,键盘的输入)中读取一行,并把输入行的每个字段的值指定给 shell 变量
# 在test.sh中,name 接收标准输入的变量
read name
echo $name

# -e 开启转义
echo -e "OK! "
# -e 开启转义 c 不换行
echo -e "OK! c"

# 显示结果再放到文件中
echo "It is a test" > myfile

# 显示命令执行结果,Sun Feb 19 22:10:15 CST 2017

# 注意是反的单引号`
echo `date`

××××××××××××××××××××××××××××××下面是printf×××××××××××××××××××××××××××××××

# printf模仿c同名函数,移植性好,功能多,默认情况下不会像 echo 自动添加换行符
# 格式:printf format-string [arguments...]

# format-string为单引号、双引号、无引号效果一样

# format-string为双引号,输出1 abc
printf "%d %s " 1 "abc"
# 没有引号也可以输出
printf %s abcdef
# 格式只指定了一个参数,但多出的参数仍然会按照该格式输出,format-string 被重用
printf %s abc def
#abc输出,def换行,所以格式是依次的
printf "%s " abc def

# 输出两个即换行。

printf "%s %s " a b c d e f g h i j k 0 0

# 如果没有 arguments,那么 %s 用NULL代替,%d 用 0 代替
# 输出 and 0
printf "%s and %d "

# -表示左对齐,没有则表示右对齐
# %10s表示宽度为10,如果不足则自动以空格填充,超过也会将内容全部显示出来。
# %-4.2f 指格式化为小数,其中.2指保留2位小数。
printf "%-10s %-8s %-4s " 姓名 性别 体重kg
printf "%-10s %-8s %-4.3f " 郭靖 男 66.1234

原文地址:https://www.cnblogs.com/pxy7896/p/6417489.html