bash:从对话框的变量正确展开参数
我一直在努力从bash命令对话框的变量中扩展标志 我有以下输入(减少): 我正在通过以下管道进行传输:bash:从对话框的变量正确展开参数,bash,dialog,eval,Bash,Dialog,Eval,我一直在努力从bash命令对话框的变量中扩展标志 我有以下输入(减少): 我正在通过以下管道进行传输: grep "alsa.name\|index" | sed "s/^[ \*\t]*//g" | sed "s/ =/:/g" | awk -F ': ' '{print $2}' | paste -s -d ' ' 这让我觉得: 0 "HDMI 0" 2 "ALC3232 Analog" dialog --title "Interface" --menu "Please choose a
grep "alsa.name\|index" | sed "s/^[ \*\t]*//g" | sed "s/ =/:/g" | awk -F ': ' '{print $2}' | paste -s -d ' '
这让我觉得:
0 "HDMI 0" 2 "ALC3232 Analog"
dialog --title "Interface" --menu "Please choose an option:" $args 3 "Exit"
现在,我想将这些用作对话框
的菜单项。最终,我想要的是:
0 "HDMI 0" 2 "ALC3232 Analog"
dialog --title "Interface" --menu "Please choose an option:" $args 3 "Exit"
变成
dialog --title "Interface" --menu "Please choose an option:" 0 "HDMI 0" 2 "ALC3232 Analog" 3 "Exit"
但是,当我做这样的事情时
eval "dialog --title \"Interface\" --menu \"Please choose an option:\" $args 3 \"Exit\""
我明白了
我尝试了很多很多方法,但都失败了。我尝试了eval
方法,并尝试将0“HDMI 0”2“ALC3232模拟”
放入阵列,但我的想法太少了
如果我运行所需的输出,它工作得很好。谢谢你的帮助 我解决了自己的问题 原来我省略了
对话框本身的几个参数。命令应该是
eval "dialog --title \"Interface\" --menu \"Please choose an option:\" 15 50 5 $args 3 \"Exit\""
而不是
eval "dialog --title \"Interface\" --menu \"Please choose an option:\" $args 3 \"Exit\""
我解决了我自己的问题
原来我省略了对话框本身的几个参数。命令应该是
eval "dialog --title \"Interface\" --menu \"Please choose an option:\" 15 50 5 $args 3 \"Exit\""
而不是
eval "dialog --title \"Interface\" --menu \"Please choose an option:\" $args 3 \"Exit\""
您运行的理想输出是什么?“变成”后的部分对我不起作用。@那另一个人那部分是为了澄清我想要的行为是什么样的代码你说你想要它是什么样的代码给了你完全相同的错误,你说你不想要。复制粘贴失败,也许吧。在任何情况下,我很高兴你能找到答案:p你运行的理想输出是什么?“变成”后的部分对我不起作用。@那另一个人那部分是为了澄清我想要的行为是什么样的代码你说你想要它是什么样的代码给了你完全相同的错误,你说你不想要。复制粘贴失败,也许吧。不管怎样,我很高兴你明白了:P