为什么我不能使用执行shell脚本。 ./test.sh?

时间:2017-02-17 03:59:40

标签: bash shell terminal

我有一个简单的shell脚本:

#!/bin/bash
echo test

我可以成功执行脚本:

./test.sh

source ./test.sh

但是,以下内容会引发错误:

. ./test.sh

错误:

.: Command not found.

可能导致错误的原因是什么?这适用于el capitan(这是升级),但不适用于sierra。在过去的几个主要版本中,终端或默认shell是否发生了变化?

我正在使用默认终端运行macOS 10.12.3 - 这是一个干净的安装而不是升级(升级挂在以前的shell设置上)。

1 个答案:

答案 0 :(得分:3)

听起来好像您已将默认shell切换为bash以外的其他内容,可能是csh ,其中(a).不是内置命令(仅source是),以及(b)即使它是,您也无法将 Bash 代码加载到当前会话中。

要检查默认shell是什么,请运行echo $SHELL

运行chsh -s /bin/bash以切换回bash作为默认shell。