Printf - 打印重复的减号

Printf - 打印重复的减号

我怎样才能printf打印一行减号?

当我尝试时:printf "-----------\\n"

我得到:

bash: printf: - : invalid option
printf: usage: printf [-v var] format [arguments]

当我尝试时:printf "\-\-\-\-\-\-\-\-\-\-\-\\n"

我得到:\-\-\-\-\-\-\-\-\-\-\-

答案1

printf()如果不使用格式说明符,这是一种极其低效的使用方式。通常,您可以定义它们来了解正在格式化的输出类型。它应该写成

printf '%s\n' "-----------"

这样, 就可以将字符串类型与采用字符串关键字 ( ) 的格式说明符printf相匹配。 after说明符的意思是在打印字符串后添加新行。-----------%s\n

通过尝试您所拥有的,当发生引号删除时,printf会将破折号解释为其命令行标志之一,它会这样做不是理解。

另一种做法是 printf知道它的命令行参数是完整的,并将其后面的内容解释为它的参数。大多数 shell 内置命令和/或外部命令通过在--命令关键字后添加后缀来支持这一点,即

printf -- "-----------\n"

相关内容