1. 程式人生 > >shell指令碼無法使用source的原因及解決方法

shell指令碼無法使用source的原因及解決方法

現象: shell指令碼中source aaa.sh時提示 source: not found
例如:

$ source aaa.sh
-sh: source: command not found

原因:通過使用一下命令來檢查

ls -l `which sh`

會提示如下資訊:

lrwxrwxrwx 1 root root 4 Apr 21 13:57 /bin/sh -> dash

說明使用了dash來進行解析的。

改回方法:
執行如下命令:

sudo dpkg-reconfigure dash

然後會提示如下介面:
這裡寫圖片描述

然後選中敲回車,然後再次使用

ls -l `which sh`

檢視結果:

lrwxrwxrwx 1 root root 4 Apr 21 13:57 /bin/sh -> bash

OK,大功告成,此時可以試一試了,如果還提示command not found 則需要重啟機器就好了。