在bash脚本中尝试类似的东西时,我制作了这个片段:
#!/bin/bash
your_animal="fishies"
zenity --info --text="Do you like to eat $your_animal?"
if zenity --entry --title="Root Partition" \
--text="what is your favorite animal"
then your_animal=$?
else exit
fi
#echo $your_animal
zenity --info --text="Do you like to eat $your_animal?"
exit
打印
你喜欢吃鱼吗?你喜欢吃0吗?
也许我们可以把它变成wiki以解决其他语言中的同样问题,比如perl。
答案 0 :(得分:1)
$?
是上次执行的命令的状态。在您的情况下,它将为0,因此显示的文本"Do you like to eat 0?"
是正确的。
要获取命令的输出,请使用
`command`
或
$(command)
试试这个:
result=$(zenity --entry --title="Root Partition" \
--text="what is your favorite animal")
if [ $? = 0 ] ; then
your_animal="$result"
else
exit
fi