我正在创建一个shell脚本来运行我的覆盆子pi。在此过程中,我试图简化一些重复的代码,并且我想为下面的whiptail函数创建一个包装器。
function yesno() {
answer=$(whiptail --yesno "$1" 0 0 3>&1 1>&2 2>&3)
echo $answer
}
这个函数没有回应任何东西,我想知道我的语法是否错误。在我的终端输入yesno "Your question"
时,该功能会触发。
同样回显$?
没有帮助,因为在函数中不使用return
时似乎没有捕获任何数据。
尝试使用return
时,我收到错误消息,说我需要返回一个整数。
我已成功在if
语句中运行此函数,并确信它确实返回0或1。
if whiptail --yesno "Are you sure you want to clear all SSH keys from the list?" 0 0; then
# Do stuff
fi
任何人都知道如何将我已经显示的--yesno whiptail函数的输出转换为变量?
答案 0 :(得分:2)
也许你的意思是
#!/bin/bash
function yesno() {
answer=$(whiptail --yesno "$1" 0 0 3>&1 1>&2 2>&3; echo $?)
echo "Answer <$answer>"
}
yesno "Hello world"
在子shell中打印 $?
(0 =是,1 =否)。