简而言之,我想要生成这样一个列表

for file in *
do
woC=$(sed -n -e 's#some-regex#\1#p' "$file")
idL=$(pcregrep -M '/some-regex/\1/p')
gridData="$gridData $file $wowC \"$idL\""
done假装$woC和$idL中的内容并不重要。重要的是$idL可能包含空白。
zenity --list \
--title="NCR Service Requests" \
--width=420 --height=500 \
--column="File" --column="Wow Code" --column="ID list" \
$gridData我不知道如何强制bash扩展$gridData (或$idL,我不知道问题到底出在哪里),这样可以保留空格,但不同的字段仍然是独立的。
发布于 2016-08-04 21:38:22
您可以使用xargs
xargs从标准输入中读取由空格(可以用双引号、单引号或反斜杠分隔)或换行符分隔的项,并执行命令...
您将构建完整的参数列表并将其传递给zenity
#!/bin/bash
gridData="\"a b\" \"c\" \"d\""
gridData="$gridData \"a\" \"b c\" \"d\""
gridData="$gridData \"a\" \"b\" \"c d\""
echo "--list
--title=\"NCR Service Requests\"
--width=420 --height=500
--column=\"File\"
--column=\"Wow Code\"
--column=\"ID list\" $gridData" | xargs zenity
exit 0https://stackoverflow.com/questions/38767174
复制相似问题