Yad中的Bash变量。
yad‘’!字段分隔符不分隔字段。
在研究了yad手册页面和其他yad资源的其他问题后,我对此感到困惑。
我试图在yad表单组合框中使用变量。
变量从列表(cam_list)中读取--在本例中,列出了两个摄像机模型,每个模型后面有9个参数(在本例中没有设置,对问题不重要)
450D 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
N3300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000变量$cam1和$cam2声明如下--文本文件中的第一项和第十一项。
cam1=$(awk 'BEGIN { FS = " " } ; { print $1 }' $cam_list)
cam2=$(awk 'BEGIN { FS = " " } ; { print $11 }' $cam_list)校验变量
echo $cam1 $cam2
450D N3300将$cam1和$cam2放入yad表单字段
yad --form --center --text="test" \
--field="Camera":CB \
"$cam1!$cam2"或者是这边
"$cam1"!"$cam2"相同结果
进一步将双引号中的变量括起来只显示$cam1 ..。
""$cam1"!"$cam2""复选框的行为也是一样的。例如;
yad --form --center --title="$TITLE" \
--text="Please select a camera" \
--field="$cam1":CHK \
'TRUE!FALSE' \
--field="$cam2":CHK \
'TRUE!FALSE'没有足够的声誉来发布第三个图像,但是扩展的变量被分组到一个复选框中,而第二个复选框并不与变量-怪异关联。
这是一个令人头痛的问题,但它有效--变量正确地展开。
--field="ImageMagick threads":NUM \
"$defaultcores"!1.."$CORES"!1!0 \我不确定这是yad问题还是我的申请。在相同的bash脚本中,我有大量的yad对话框和一个窗格笔记本(6个标签),运行良好。
发布于 2018-06-14 07:21:10
VAR1 1=‘test2 1!test2!test3’ANS=$(yad --form -field=“combo1:CBE”'test1!test2!test3‘-field=“no-编辑组合框:CB”!test1!test2!test3’-field=“combo2:CBE”"$VAR1“) Selected=$(回波$ANS \ awk‘{打印$1 $2 $3 }’\ tr‘\\n’\n)回波$selected
当字符串包含时,使用单引号是必要的!否则,yad将与字段分隔符不同地对待它。
我知道我没有使用您的$cam1和$cam2 var,因为它对我来说太高级了,但至少我可以向您保证我的示例工作,并且可能会为您的问题触发一个“哇”时刻(开玩笑!)
发布于 2017-07-30 02:03:05
这是你的问题:
校验变量 回波$cam1 $cam2 450 D N3300
你看,如果你单独检查它们,你会得到以下信息:
echo $cam1
450D N3300
echo $cam2也就是说,$cam1包含“450 D\n 3300\n”,而$cam2包含"“。在这两种情况下,$1是文件的第一个字段,而$11是.没什么。如果您想为此使用awk,那么需要在此条件下检查NR。
cam1=$(awk 'NR==1 { print $1 }' "$cam_list")
cam2=$(awk 'NR==2 { print $1 }' "$cam_list")https://stackoverflow.com/questions/45386499
复制相似问题