for i in $(seq 1 10); do
echo 'bla bla'
echo 'xxx'
echo $i
done | select=$(zenity --list --title="title" --text="text" --column="X" --column="Y" --column="Z");
我尝试创建一个带有zenity的清单,我的问题是$ select始终为空。 我试着用其他几种方式来做,比如这个:
for i in $(seq 1 10)
do
x="bla bla"
y="xxx"
z="$i"
table="$table '$x' '$y' '$z'"
done
eval zenity --list --title="title" --text="text" --column="X" --column="Y" --column="Z" $table
这样$ select变量不为空,但如果某个变量中有空格(例如$ x),则zenity将其拆分为2(或更多)列。
我的代码需要其他解决方案或任何修复程序吗?
谢谢!
答案 0 :(得分:1)
您可以尝试其他方法:
#!/bin/bash
for i in $(seq 1 10)
do
echo "bla bla"
echo "xxx"
echo "$i"
done | zenity --list --title="title" --text="text" --column="X" --column="Y" --column="Z"
每行将表从第一列填充到最后一列,然后再在新行上填充,直到输入流结束。