shell脚本中source无效

发现在shell里面执行source,提示找不到命令。所以,我取搜了一些资料,总结一下。

一.

脚本中,source找不到命令--------------是因为用了sh执行脚本,而debian系统的sh指向dash。需要更改系统sh指向:

(1)cd /bin  

(2)mv sh sh.old

(3)ln -s sh bash

二.

为什么没有在控制台界面看到source的结果?--------因为控制台是一个shell,脚本是他的子shell。两者不是同一个环境。

分清楚几个shell执行的环境:

(1)sh,bash和./   新建一个子shell执行脚本

(2).  ./test  和 source ./test , 这两个命令是在本shell中执行的命令 

鸡肉是我的最爱!
原文地址:https://www.cnblogs.com/laochiji/p/10275533.html