有人可以告诉我我做错了什么/如何修复这个 shell 脚本吗?

有人可以告诉我我做错了什么/如何修复这个 shell 脚本吗?

我想要实现的是,如果名称是“Instructor”,它会回复“Good Afternoon, Instructor”,如果是其他名称,它将回复“Good Evening, 'name'”并将结果发送到 file.txt 文件。

#!/bin/bash

read -p "what's your name?"

if [ "$name" = "Instructor" ]
then 
    echo "Good Afternoon, Instructor"
else
    echo "good Evening, "$name" >> file.txt
fi

答案1

您不是从用户那里读取名称,而是使用name和 then NAME(这是两个不同的变量)。另外,$name应该在 if 语句中使用双引号。

要将用户的输入读入变量name,请使用read

read name

如果您愿意bash,还可以使用read来显示自定义提示:

echo 'Hello!'
read -p "What's your name? > " name

如果你给出read变量的名称,文本将进入REPLY默认调用的变量。

相关内容