2014-03-26 41 views
2

我想知道是否有任何方法来创建一个脚本,这将在后台运行,并且每次更改目录时都会调用“ls”命令(“cd “)在Linux中。shell脚本每次我改变目录时调用ls命令

我知道,为了在后台放置一个进程,您在运行时添加一个“&”。

提前致谢!

回答

1

你可以在你的~/.bashrc或类似的启动脚本用shell函数替换cd还返回cd退出代码,以防万一...

builtin是内置的执行内建cd代替cd功能可按壳,以避免陷入递归循环壳 - 至少在bash - 但也应与其他贝壳工作...

+0

谢谢,它完美的工作,但只有如果我把代码〜/ .bashrc – Roduts

+0

是的,那么你是对的,这在'〜/ .profile'中将不起作用,因为这只在登录时才有效。删除它。 – mata

+0

投票:正是我在找什么!学到了一些关于'内建功能'的新内容,我希望我知道这一点,因为我认为在编写脚本时这是非常有价值的东西。谢谢! – Faron

0

您可以在.bashrc定义这样的函数来实现这一目标:

function cd { 
    builtin cd "[email protected]" 
    RET=$? 
    ls 
    return $RET 
} 

这将:

cdlist(){ 
     cd "$1" && ls 
} 
+0

你不需要'LS “$ 1”',只是'ls'应该就够了... – iamauser

+0

然后,你可以'别名cd = cdlist'。 – rodrigo

+0

@iamauser - 谢谢,更新。 – Amit