使用 sqsh,在我的 .sqshrc 中,我可以有一个别名来连接到生产服务器,以及一个别名来更改我的颜色:
\alias prod='\reconnect -S MY_PROD_DS ...'
\alias pc='\set prompt="{0;47;34} [$histnum] ${DSQUERY}.${database}.${lineno}> "'
我怎样才能拥有一个兼具两者的别名?
使用 sqsh,在我的 .sqshrc 中,我可以有一个别名来连接到生产服务器,以及一个别名来更改我的颜色:
\alias prod='\reconnect -S MY_PROD_DS ...'
\alias pc='\set prompt="{0;47;34} [$histnum] ${DSQUERY}.${database}.${lineno}> "'
我怎样才能拥有一个兼具两者的别名?
我认为一个别名中不可能有 2 个或更多命令。指定服务器相关提示的最佳方法是在设置与服务器的新连接之前将其设置在正在评估的会话文件中。在您的 .sqshrc 文件中,您可以指定会话文件和提示定义,例如:
\set session='$HOME/.sqsh_session'
\set text_color='{0}'
\set prompt='$prompt_color[$histnum]$DSQUERY.$username.$database.$lineno>$text_color '
在此会话文件中,您可以执行以下操作:
\if [ "$DSQUERY" = "MY_PROD_DS" ]
\set prompt_color='{0;31;47}'
\else
\set prompt_color='{0;34;47}'
\fi
当您连接或重新连接到 MY_PROD_DS 服务器时,您会收到白底红字提示,否则会收到白底蓝字提示。