~/.zshrc 带有 space 的别名
~/.zshrc alias with a space
我有一个坏习惯,就是在我的 folder/file 名字中加空格。今天它咬我。
我有一个名为 NFB Lab
的文件夹,我在其中安装了 NFB Lab。我想将 shortcut/command 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 uninstall/reintsall,我该如何解决这个问题?
你需要两个反斜杠。
$ mkdir "f oo"
$ alias f="cd f\ oo"
$ f
$ pwd
/home/foobar/tmp/f oo
您需要转义 space (\
),例如,看看我的 sublimetext3 别名;
alias sub='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
要不,看看ZSH functions。与别名相比,有更多的选择;
例如,运行 python 脚本以 arg 作为路径,然后创建一个调用该函数的别名
function runpy() {
python3 "$@"
}
alias runx="runpy '/tmp/dir with space/py.py'"
alias runy="runpy '/tmp/dir with space/py_second.py'"
考虑到单引号或双引号内的反斜杠引起的混淆,这里有一个替代方案:
alias nfb="'/Users/mathieu/Documents/NFB Lab/pynfb/main.py'"
alias pynfb="'/Users/mathieu/Documents/NFB Lab/pynfb/main.py'"
我有一个坏习惯,就是在我的 folder/file 名字中加空格。今天它咬我。
我有一个名为 NFB Lab
的文件夹,我在其中安装了 NFB Lab。我想将 shortcut/command 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 uninstall/reintsall,我该如何解决这个问题?
你需要两个反斜杠。
$ mkdir "f oo"
$ alias f="cd f\ oo"
$ f
$ pwd
/home/foobar/tmp/f oo
您需要转义 space (\
),例如,看看我的 sublimetext3 别名;
alias sub='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
要不,看看ZSH functions。与别名相比,有更多的选择;
例如,运行 python 脚本以 arg 作为路径,然后创建一个调用该函数的别名
function runpy() {
python3 "$@"
}
alias runx="runpy '/tmp/dir with space/py.py'"
alias runy="runpy '/tmp/dir with space/py_second.py'"
考虑到单引号或双引号内的反斜杠引起的混淆,这里有一个替代方案:
alias nfb="'/Users/mathieu/Documents/NFB Lab/pynfb/main.py'"
alias pynfb="'/Users/mathieu/Documents/NFB Lab/pynfb/main.py'"