我想在Unix中使用高级shell或命令行,它具有以下功能:
我正在研究一种可提高生产力的高级外壳。还有其他选择吗?
答案 0 :(得分:2)
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
)
答案 1 :(得分:0)
这不是一个微不足道的主张。
有一些shell可以与终端一起使用,以回显标题栏中当前正在执行的命令,例如MacOS X上的bash
。
这些命令是自治的,通常不会对其输出进行颜色编码。因此,要获得颜色编码的输出,shell必须捕获它运行的命令的错误输出,并安排以适当的颜色编码显示该信息。
搜索输出需要终端程序以可搜索的形式保持输出显示,而某些程序(可能是终端程序或可能是shell)必须响应搜索操作。
答案 2 :(得分:0)
Emacs允许您运行交互式shell,例如bash或zsh。
在Plan9中运行时,rc的工作方式类似 - 我不确定它的Unix端口。