我有一个简单的shell脚本:
#!/bin/bash
echo test
我可以成功执行脚本:
./test.sh
和
source ./test.sh
但是,以下内容会引发错误:
. ./test.sh
错误:
.: Command not found.
可能导致错误的原因是什么?这适用于el capitan(这是升级),但不适用于sierra。在过去的几个主要版本中,终端或默认shell是否发生了变化?
我正在使用默认终端运行macOS 10.12.3 - 这是一个干净的安装而不是升级(升级挂在以前的shell设置上)。
答案 0 :(得分:3)
听起来好像您已将默认shell切换为bash
以外的其他内容,可能是csh
,其中(a).
不是内置命令(仅source
是),以及(b)即使它是,您也无法将 Bash 代码加载到当前会话中。
要检查默认shell是什么,请运行echo $SHELL
。
运行chsh -s /bin/bash
以切换回bash
作为默认shell。