在Bash中,正常运行tmux ls
。但是,在Zsh中,我收到此错误:
tmux:未知选项 - p
用法:list-sessions [-F格式]
我怀疑这是因为Zsh正在使用ls
的自定义别名替换命令的ls
:
alias -g ls='ls -p --color'
我尝试设置alias -g tmux\ ls='tmux list-sessions'
,但这不起作用。
有没有办法改变Zsh的别名扩展/替换行为?
答案 0 :(得分:2)
您将ls
定义为全局别名,这意味着它会在shell ls
的任何地方展开,而不仅仅是将其用作命令。只需删除-g
选项:
alias ls='ls -p --color'
答案 1 :(得分:0)
在zsh中,当您使用alias -g
时,您拥有全局别名。全局别名是一个别名,它不仅适用于命令的开头,而且适用于所有地方。
这不是你想要的!
但是全局别名可以非常强大和有用。例如:
alias -g L="| less" # to page the output with less
alias -g WL="| wc -l" # to have stats from wc
alias -g CP="| xclip -f -r" # to copy output into clipboard
alias -g NU="&> /dev/null" # to remove error and standard outputs
使用它们:
ps aux L # expanded into: ps aux | less
ls -1 WL # expanded into: ls -1 | wc -l
date CP # expanded into: date | xclip -f -r
ls /foo2 /usr NU || echo okay # expanded into: ls /foo2 /usr &> /dev/null || ...