我正在尝试在Ubuntu Amazon EC2框上更改当天消息(MOTD),以便在我输入SSH时它将显示我的目录之一的git状态。
所有默认MOTD文件的输出在每一行的开头都有两个空格,因此看起来很缩进,但是由于我的git status
输出跨越了几行,因此如果我echo -n " "
之前这样做,它只会缩进第一行。
知道如何缩进每一行吗?
Answers:
以@Barmar的答案为基础,这是一种更简洁的方法:
indent() { sed 's/^/ /'; }
git status | indent
other_command | indent
感谢@Barmar和@Marplesoft提供了一些不错的简单解决方案-这是其他人可能喜欢的另一种变体-该函数可以使用pr
以下命令告诉您缩进级别:
indent() {
local indentSize=2
local indent=1
if [ -n "$1" ]; then indent=$1; fi
pr -to $(($indent * $indentSize))
}
# Example usage
ls -al | indent
git status | indent 2
sed
在某些情况下可能会成为问题。