有什么办法可以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"