问题描述
我有一个名为NFB Lab
的文件夹,其中安装了NFB Lab。我想将快捷方式/命令nfb和pynfb添加到~/.zshrc
文件中,以便从任何地方启动主python脚本。
我使用以下命令通过nano编辑了~/.zshrc
文件:
alias nfb=/Users/mathieu/Documents/NFB\ Lab/pynfb/main.py
alias pynfb=/Users/mathieu/Documents/NFB\ Lab/pynfb/main.py
我也尝试过:
alias nfb="/Users/mathieu/Documents/NFB Lab/pynfb/main.py"
alias pynfb="/Users/mathieu/Documents/NFB Lab/pynfb/main.py"
都不行,我总是得到:
zsh: no such file or directory: /Users/mathieu/Documents/NFB
如何在没有卸载/重新安装NFB Lab的情况下解决此问题?
解决方法
您需要转义空格(\
),例如,看看我的sublimetext3别名;
alias sub='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
否则,请查看ZSH functions。与别名相比,还有更多选择;
例如,使用arg作为路径运行python脚本,然后创建一个调用该函数的别名
function runpy() {
python3 "$@"
}
alias runx="runpy '/tmp/dir with space/py.py'"
alias runy="runpy '/tmp/dir with space/py_second.py'"
,
您需要两个反斜杠。
$ mkdir "f oo"
$ alias f="cd f\\ oo"
$ f
$ pwd
/home/foobar/tmp/f oo
,
考虑到单引号或双引号内反斜杠引起的混淆,这是一种替代方法:
alias nfb="'/Users/mathieu/Documents/NFB Lab/pynfb/main.py'"
alias pynfb="'/Users/mathieu/Documents/NFB Lab/pynfb/main.py'"