如何将脚本调用添加到一个Linux命令?

我想在我的linux系统中添加一个脚本调用ls命令。 每次用户执行ls命令时都应执行该脚本。

我尝试了两种解决scheme,但都是有限的:

1)使用别名

 alias ls="/root/myscript.sh; ls" 

但是这个解决scheme是有限的,因为用户可以通过一个variables以这种方式调用ls

 var="ls" $var 

看到这个链接更多的细节

2)使用function

我创build一个名称为ls的函数:

 ls() { /root/myscript.sh; /bin/ls $@ } 

但是这个解决scheme是有限的,因为用户可以这样调用ls

 /bin/ls 

还有其他解决scheme吗?

您可以随时将/bin/ls重命名为/bin/something然后为/bin/ls创建一个shell脚本,并在那里调用原始脚本。

但被警告这可以很容易地砖你的系统。

您可以在${HOME}/myls/ls放置脚本,然后将路径变量设置为${HOME}/myls:$PATH