我正在编写一个非常简单的 bash 脚本,它提出的问题包括先前答案中的文本。例如:
questionText="Hi $userName, I'm going to ask you some questions. At the end of the process, I'll output a file that might be helpful to you."
echo "$questionText"
其中一些问题很长。
echo
的输出软包装在我的 macOS 终端窗口中,但按字符而不是按单词。如何按字将输出硬包装到特定的字符宽度?我无法手动将中断添加到
$questionText
,因为包含的变量可以是任意长度。我的搜索全部引导我到
fmt
和 fold
,但那些想要文本文件作为输入,而不是变量。我正在寻找的是类似
echo
的东西,但可以选择将输出换行到指定的宽度。 最佳答案
printf '%s\n' "$questionText" | fold
使用 -s
选项将使 fold
只在空白字符上换行,而不是在单词的中间:printf '%s\n' "$questionText" | fold -s
关于bash - 如何用硬换行回显字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40942370/