我不能为我的生活弄清楚为什么第二个功能不起作用。我试过使用else和elif,但我得到一个语法错误或我的第二个功能没有显示。这只是一个简单的bash脚本。拜托,我需要知道我做错了什么..
function yes() {
echo "Good boy"
}
function no() {
echo "Bad Boy"
}
echo " Did you eat this pillow? [y,n]" ; tput sgr0
read $answer
if [ "$answer" != "y" ];
then
yes
elif [ "$answer" != "n" ];
then
no
else
exit
fi
答案 0 :(得分:1)
你应该删除第一个"答案"的$符号变量。更重要的是,read支持在输入字符之前显示提示,因此您应该像这样更改脚本:
#!/bin/bash
function yes() {
echo "Good boy"
}
function no() {
echo "Bad Boy"
}
read -p " Did you eat this pillow? [y,n]" answer
if [ "$answer" != "y" ]
then
yes
elif [ "$answer" != "n" ]
then
no
else
exit
fi