BASH:长命令输出后的换行符或HR

有什么办法可以configurationBash在提供N行以上输出的命令之后打印换行符或水平行? 例如,在一个简单的cd我不需要换行符或水平行,但是在一个长cat之后,当我比较各种命令的输出时,每个命令输出结束的可视化指示将会很好。

其实你可以使用下面的包装脚本:

 #!/bin/bash CMD="$*" N=10 IFS=: i=0; eval $CMD | while read line; do echo "$line" i=$((i+1)) if [ $((i % $N)) -eq 0 ]; then echo '================================================================'; fi done 

把它保存在你的homedir中,可以说是〜/ wrapper.sh。 在您的.bashrc文件中为其制作别名:

 alias wrap="~/wrapper.sh " 

现在你可以用'wrap'前缀来调用你select的命令:

 wrap cat veryLongFile 

你的命令的标准输出将由wrapper.sh进行后处理(我在每个1o行之后添加水平行)

这不能在bash中完成。 程序输出到terminal不通过shell(bash),所以bash无法确定打印了多less行。

就我个人而言,我只是手动打一次或两次input,以防需要视觉分离。 如果你想每个命令都有一个换行符,最好的办法是export PS1='\n'"$PS1"