使用带有包含破折号('-')的变量的鞭子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用带有包含破折号('-')的变量的鞭子相关的知识,希望对你有一定的参考价值。
我想使用whiptail
在linux bash中显示菜单当菜单项包含一个或多个破折号时,鞭子将无法显示菜单。仅包含一项的示例:
MQTT_PublisherArgs='-h {host} -t {topic} -m "{{message}}"'
whiptail --title "MQTT Configuration" --menu "" 0 70 0 "Publisher Arguments" "$MQTT_PublisherArgs"
[当我用其他字符替换破折号时,例如下划线,菜单显示正确。我试图用-
来消除破折号,但菜单中显示了反斜杠。
如何显示菜单项-h {host} -t {topic} -m "{{message}}"
当用户选择此项目时,将提示您输入正确的参数
答案
替换
"$MQTT_PublisherArgs"
with
-- "$MQTT_PublisherArgs"
告诉whiptail
以下不是选项。
来自man whiptail
:
whiptail将以短划线“-”开头的参数解释为参数。为了避免这种情况,并在菜单栏项(例如带破折号)中开始一些文本,whiptail表示getopt接受特殊参数“-”的约定,这意味着以下所有参数带破折号的字符应按原样对待,而不应视为选项。
以上是关于使用带有包含破折号('-')的变量的鞭子的主要内容,如果未能解决你的问题,请参考以下文章