我想创建一个别名来进行一些设置,覆盖自身,然后在新别名中执行命令。
像这样的东西:
/remote/tool/setup_my_command.sh
source ./setup_completion.sh
alias my_command='/remote/path/to/a/bin --options'
.zshrc
alias my_command='am_i_logged_in && echo "Setting up my_command" && source /remote/tool/setup_my_command.sh && my_command || (echo "Log in first" 1>&2; return 1)'
如果我没有登录,
$ my_command
Log in first
如果我登录了,
$ my_command
Setting up my_command
This is the output of my_command
$ my_command
This is the output of my_command
我认为这几乎有效,但我错过了一些东西。
$ my_command
Setting up my_command
Log in first
$ my_command
This the output of my_command
我可以直接扔进am_i_logged_in || login && source /remote/tool/setup_my_command.sh
我的 .zshrc,但我不想被迫在每个终端会话中登录,即使我今天不使用这个工具。