Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 将whiptail与包含dash(';-';)的变量一起使用_Bash_Whiptail - Fatal编程技术网

Bash 将whiptail与包含dash(';-';)的变量一起使用

Bash 将whiptail与包含dash(';-';)的变量一起使用,bash,whiptail,Bash,Whiptail,我想在linux bash中使用whiptail 当菜单项包含一个或多个破折号时,whiptail无法显示菜单。 仅包含一项的示例: MQTT_PublisherArgs='-h {host} -t {topic} -m "{{message}}"' whiptail --title "MQTT Configuration" --menu "" 0 70 0 "Publisher Arguments" "$MQTT_PublisherArgs" 当我用另一个字符(例如下划线)替换虚线时,菜单显

我想在linux bash中使用
whiptail

当菜单项包含一个或多个破折号时,whiptail无法显示菜单。
仅包含一项的示例:

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"

告诉
whiptail
以下选项不是选项

man whiptail

whiptail将以破折号“-”开头的参数解释为参数。为了避免这种情况,, 并以一些文本开始,例如,一个菜单框项,带有破折号,whiptail表示对getopt的尊重 接受特殊论点的惯例“-”,这意味着以下所有论点 with破折号将被逐字处理,而不是作为选项解析


正如我所读到的,OP在字符串变量中不是有几个不同的参数吗?因此,我不相信正确的方法是用数组替换它。
-- "$MQTT_PublisherArgs"