我在.bash_profile中调用hello.sh。 当用户输入错误的名称时我尝试退出,但它不起作用。我认为这是因为在shell实际运行之前读取了配置文件,因此退出不会影响shell的运行。如何实现我的目标?
代码是:
#!/bin/bash
echo "What's you name?"
read name
if [ $name = "Frank" ]
then
echo 'Hello' $name
echo 'So happy to see you'
echo 'Happy coding :)'
else
echo 'You are not the right user.'
echo `exit`
fi
答案 0 :(得分:2)
直接调用shell文件会在新shell中启动并执行。这意味着exit语句只退出子shell。
使用“.hello.sh”调用将在现有shell中执行hello.sh,因此exit语句将终止该shell及其窗口。