我有一份文件:
/Users/MYUSERNAME/asciidots/asciidots/__main__.py我想给它取别名,这样它就像在我的当前目录中一样运行。我在想这样的事情:
alias asciidots="OLDCWD=$PWD && cd /Users/MYUSERNAME/asciidots/asciidots/ && python3 __main__.py ALL_ARGUMENTS_FOLLOWING_THE_ALIAS && cd $OLDCWD"但我不知道该怎么做。
发布于 2021-05-23 22:27:47
使用函数代替:
asciidots() (
cd /Users/MYUSERNAME/asciidots/asciidots/ &&
python3 __main__.py "$@"
)"$@"扩展到函数的参数,在这里,我在函数体周围使用了( .. )而不是{ .. },以使它在子subshell中运行。子subshell环境有自己的工作目录,因此以后不需要跳回原来的目录。
(如果我没有弄错的话,至少对Zsh和Bash也是如此。)
参见:在Bash中,何时使用别名、何时编写脚本以及何时编写函数? (标题为Bash,但其中大部分内容可能也与Zsh相关)。
https://unix.stackexchange.com/questions/651068
复制相似问题