sca*_*nny 8 centos cygwin bash
我有一个来自 Gary Bernhardt 的 dotfiles 的 bash 脚本,它打印了最近 git 提交的漂亮彩色列表。它使用该column
命令将输出排列成列。在我的 Mac 上,它运行得非常好。
然而奇怪的是,当我在 Cygwin 或 CentOS 6 上运行它时,列位不起作用。所有字段之间都有三个空格,无论它们的长度如何,都会在“列”之间产生锯齿状的排水沟。我已将其范围缩小到 ANSI 颜色转义码。如果我删除这些,列会排成一列。
zsh 版本在所有三个上都相同(并且问题在 bash 中的出现方式完全相同)。我不知道是什么版本column
,但它们看起来完全一样,而且它们的手册页对于任何有价值的东西都是一样的。
为什么这适用于我的 Mac 而不适用于其他操作系统?
小智 0
可能该column
命令查看$TERM
和/或$LANG
查看什么(如果有)构成颜色代码。
当然,您可以首先使用git log --pretty=format:...
输出列对齐的颜色编码日志。例如,我使用git hist
并在我的~/.git/config
:
[alias]
hist = log --pretty=format:\" \t%C(yellow)%h %C(red)%ad %C(cyan)%aN%C(reset) \t| %s%C(blue)%d%C(reset)\" --graph --date=short
Run Code Online (Sandbox Code Playgroud)