我正在写一个非常简单的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
的内容,但可以选择将输出自动换行到指定的宽度。
答案 0 :(得分:5)
我的搜索引导我
fmt
和fold
,但那些想要文本文件作为输入,而不是变量。只需使用烟斗:
printf '%s\n' "$questionText" | fold
使用-s
选项会使fold
仅包装空白字符,而不是在单词的中间:
printf '%s\n' "$questionText" | fold -s