【发布时间】:2015-05-08 20:00:44
【问题描述】:
我的主目录中有一个名为“echo”的 shell 脚本。我将我的主目录添加到我的路径中,以便这个回显将替换另一个。
为此,我使用了:export PATH=/home/me:$PATH
当我执行which echo 时,它会显示我想要的那个。 /home/me/echo
但当我实际执行echo asdf 之类的操作时,它会使用系统回显。
我是不是做错了什么?
【问题讨论】:
-
您是否尝试过在执行程序之前使用 ./ 来声明它是当前目录中的 bash 文件?如果您不在该当前目录中,您可以将 root 的路径放在 shell 脚本之前。
-
echo 脚本可能不在 CWD 中,这是您可以将其添加到路径中的一个很好的原因。
-
echo是一个shell内置命令。也就是说,根本就没有echo文件,全是bash什么的。 -
which不是bash内置 shell,这意味着它不知道任何可能掩盖磁盘命令的 shell 内置函数。 -
@ÁlvaroG.Vicario:是的,
echo是一个 shell 内置命令,但还有一个外部的/bin/echo可执行文件。
标签: shell sh preloading