2011-08-03 64 views
1

我想在Unix的一種先進的殼或命令行,其具有以下功能:替代BASH /殼或ZSHRC

  • 輸出犯錯和出在不同的顏色。
  • 我應該能夠在執行命令的輸出中突出顯示(或查找)關鍵字。
  • 作爲命令正在運行或完成的操作系統任務欄/標題中的指示符。

我正在尋找提高生產力的高級外殼。有其他選擇嗎?

+0

http://ipython.org/ –

+1

對於#2,您可以在emacs中使用shell,它可以讓您在輸出上執行文本或正則表達式搜索。事實上,你永遠不會想再次使用emacs之外的交互式shell。 –

+0

也有一些有趣的Ruby shell實現,如[Rush](http://rush.heroku.com/)和[rubish](https://github.com/hayeah/rubish),儘管沒有一個滿足所有條件。 – Casper

回答

0

這不是一個小事。

有與該終端工作呼應在標題欄的當前正在執行的命令殼如bash MacOS X上

的命令是自主的和不這樣做,在一般情況下,彩色編碼它們的輸出。因此,要獲得顏色編碼的輸出,外殼將不得不捕獲它運行的命令的錯誤輸出,並安排以適當的顏色編碼顯示該信息。

搜索輸出需要終端程序保持它以可搜索的形式顯示的輸出,而某些程序(可能是終端程序或可能是shell)將不得不響應搜索操作。

1

Re:輸出到err和out是不同的顏色......可以在Bash中完成。

# colourize stderr in current shell 
# note: use sed in line-buffering mode 
(
exec 2> >(sed -l -e $'s/.*/\033[31m&\033[m/') 
ls -ld/xxxxx 
) 

# colourize stderr & stdout in current shell 
(
exec 1> >(sed -l -e $'s/.*/\033[32m&\033[m/') 2> >(sed -l -e $'s/.*/\033[31m&\033[m/') 
ls -ld/xxxxx 
) 
0

Emacs允許您運行交互式shell如bash或zsh。

rc在Plan9中運行時工作類似 - 我不確定它的Unix端口。

+0

這是Unix的一個實現:http://tobold.org/article/rc – zserge