我想编写一个shell脚本来授权用户但不起作用

时间:2016-05-10 03:48:38

标签: bash shell

我在.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

1 个答案:

答案 0 :(得分:2)

直接调用shell文件会在新shell中启动并执行。这意味着exit语句只退出子shell。

使用“.hello.sh”调用将在现有shell中执行hello.sh,因此exit语句将终止该shell及其窗口。