Zsh别名总是将$ PWD设置为home

时间:2016-11-24 08:43:36

标签: bash zsh tmux zshrc

我想在我当前所在的文件夹中为一个创建新tmux会话的命令添加别名,并将文件夹名称(连字符)设置为会话名称。如果会话已经存在,则tmux会附加到它:

alias tses="tmux new -As $(basename $PWD | tr . -)"

当我在shell中运行命令时:tmux new -As $(basename $PWD | tr . -)它按预期工作。但是当我运行别名tses时,它总是将我的主文件夹的名称设置为会话名称。

为什么会这样,我该如何解决它按预期工作?

1 个答案:

答案 0 :(得分:0)

显然,双引号会导致zsh在加载$PWD时评估命令(因此.zshrc)。把它放在单引号中:

alias tses='tmux new -As $(basename $PWD | tr . -)'

解决了它。另见:Get the `pwd` in an `alias`?