我使用printf
编写了一个bash脚本的使用函数,但是它非常繁琐,我想肯定有比我做的更简单的方法。我很好奇它是什么,这样我就可以在下一次改进它(下面只显示了2个参数以说明问题)。
这是代码本身:
usage(){
printf "\n\e[1m%s\x1b[0m %-5s\n" "USAGE:" "Blah Blah"
printf "%7s \e[1m%-15s\x1b[0m %s %s\n" "" "-h" "[Optional]" "Display usage information"
printf "%7s \e[1m%-15s\x1b[0m %s %s" "" "-ofps" "[Optional] Number of output frames per second"
printf "%-34s %s\n" "" "Applies to the *output* video frame rate."
exit 1
}
输出的样式如下:
USAGE: Blah Blah
-h [Optional] Display usage information
-ofps [Optional] Number of output frames per second
Applies to the *output* video frame rate.
如果有一种方法可以指定右侧“列”中的字符串在整行长度超过80个字符时换行(并保留缩进),那将是我要寻找的功能。我对纯bash解决方案感兴趣,但特别是在仍然使用printf的情况下最容易实现的方法。
fmt
是我正在寻找的解决方案。干杯。 - paradroid