0

我们的 shell 脚本的第一行是

#!/bin/bash

根据我的(有限的)Linux shell 知识/bin/bash,当用户直接调用此脚本时,这会导致使用启动应用程序,例如,使用

$ ./myscript.sh

不幸的是当用户使用

$ sh ./myscript.sh

如何捕捉“错误”外壳执行此脚本并向用户显示适当的错误消息的情况?

4

1 回答 1

2
case "$BASH" in
  *bash) :;;
  *) echo >&2 "$0: please run this with bash."; exit 1;;
esac

或者你可以为他们做:

case "$BASH" in
  *bash) :;;
  *) exec bash "$0" "$@";;
esac
于 2013-11-02T06:06:23.140 回答