如果不是功能,则工作

时间:2017-07-22 03:55:52

标签: bash

我不能为我的生活弄清楚为什么第二个功能不起作用。我试过使用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

1 个答案:

答案 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