2014-03-26 40 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