(1)首先echo是回显,即代表回车显示,是自带换行的;而printf只是打印出来,没有换行(2)echo只是回显没有变量替换功能;printf是有的举例:假如我们定义好变量a='hello world'则 echo "%s" $a 显示的结果就是%s而 printf "%s\n" $a 显示的结果就是hello world