-- TOC --
就像C语言中的printf函数一样,命令行的printf一样也是用来处理各种复杂格式的输出。echo的输出太过于简单了,因此有了printf!
格式化语法方面,基本上与C语言一样,只是在命令行使用,没有括号和逗号。
$ printf "%16s\n" cs.pynote.net
cs.pynote.net
$ printf "%.2f\n" 1.23456
1.23
注意,printf默认没有末尾的\n,需要自己添加!
下面是用echo和printf实现的相同的让用户等待的功能,利用\r
转义符号:
for i in $(seq 10 -1 1); do
echo -en "\r[echo] please wait $i "
sleep 1
done
echo ""
for i in $(seq 10 -1 1); do
printf "\r[printf] please wait %d " $i
sleep 1
done
echo ""
注意显示的数字后面有个空格,用来刷新那个位置。
本文链接:https://cs.pynote.net/sf/linux/shell/202201052/
-- EOF --
-- MORE --