1
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(或更多)列。

我需要其他解决方案或对我的代码进行任何修复吗?

谢谢!

4

1 回答 1

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"

每一行从第一列到最后一列填充表格,然后在新行上再次填充,直到输入流结束。

于 2011-10-14T17:22:01.217 回答