shell-code-3-echo用法&printf用法
××××××××××××××××××××××××××××××下面是echo×××××××××××××××××××××××××××××××
# read 命令从标准输入(即执行时,键盘的输入)中读取一行,并把输入行的每个字段的值指定给 shell 变量
# 在test.sh中,name 接收标准输入的变量
read name
echo $name
# -e 开启转义
echo -e "OK! \n"
# -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\n" 1 "abc"
# 没有引号也可以输出
printf %s abcdef
# 格式只指定了一个参数,但多出的参数仍然会按照该格式输出,format-string 被重用
printf %s abc def
#abc输出,def换行,所以格式是依次的
printf "%s\n" abc def
# 输出两个即换行。
printf "%s %s\n" a b c d e f g h i j k 0 0
# 如果没有 arguments,那么 %s 用NULL代替,%d 用 0 代替
# 输出 and 0
printf "%s and %d \n"
# -表示左对齐,没有则表示右对齐
# %10s表示宽度为10,如果不足则自动以空格填充,超过也会将内容全部显示出来。
# %-4.2f 指格式化为小数,其中.2指保留2位小数。
printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg
printf "%-10s %-8s %-4.3f\n" 郭靖 男 66.1234