echo命令的不同版本导致了unix系列机移植性最为头痛的事情,在POSIX第一轮标准化时,委员会委员就如何标准化echo没有达成一致意见,所以他们想出了一个妥协的方案。echo是POSIX 标准的一部分,但是标准并不详尽的指明echo的第一个参数的具体行为。
printf命令能够像echo命令一样输出简单的字符串:
printf "Hello, world/n"
主要不同之处在于不像echo,printf 不自动支持换行,你必须清楚指出'/n'。完整的printf语法有两个部分:
printf format-string [arguments ...]
一个部分是你想输出的字符串。另外一部分是参数列表,例如字符串或变量值。
$ printf "The first program always prints '%s, %s!'/n" Hello world The first program always prints 'Hello, world!'