我已經安裝了Git for Windows,並且通常對它提供的Bash shell中設置的功能感到滿意。我遇到了別處的問題,在我嘗試過的其他地方都能正常工作。用於Windows的Git Bash shell'less'命令在顯示來自Git日誌的格式化文本時顯示垃圾
別名:
alias gl='git log --graph --format='\''%Cred%h%Creset %s %C(yellow)%an | %C(cyan)%ad%Creset %C(green bold)%d%Creset'\''' | less
在Cygwin的,MacOS的bash的終端,當然在Linux外殼,該別名會產生好的結果。
在GFW的Bash shell中,輸出是相當錯位:
如果我直接運行命令,沒有一個別名,它工作正常。所以我知道這不是GFW的Bash shell不知道如何解析命令,因爲我寫了它。
我的問題:如何讓這個別名在Git For Windows下正常工作?
我打算使用替代別名。如果一個linux函數或一個真正的Git別名會更好地工作,我很滿意這些替代方案。儘管如此,搞清楚爲什麼會發生這樣的情況會很好。
更新/發現 該問題似乎與解釋別名完全不同。如果我將管道移到「較少」的位置,輸出將正確顯示。所以看起來Git Bash Shell中實現的'less'命令與其他實現不同地解釋了轉義序列(字面意思,我猜)。因此,無論是在功能或其他方面打包電話都不會解決核心問題。
'alias ls'的輸出是什麼? – smarber
alias ls ='ls -F --color = auto --show-control-chars' –