无论侦听器名称是什么,都从 sqlplus 获取 oracle 侦听器状态输出
Get oracle listener status output from sqlplus no matter what the listener name
使用以下命令,我可以在 listener.ora 中获取当前 $ORACLE_HOME
的侦听器名称
grep ' =$' $ORACLE_HOME/network/admin/listener.ora | grep -v '(' | grep -v 'SID_LIST' | sed 's/=//g'
但是,我的目标是通过退出 SQLPLUS 将其输出。
SQL> !lsnrctl status
这样上面的命令将使用 grep 的输出:
SQL> !lsnrctl status <output_of_grep>
我正在努力尝试将其全部放入某个变量中,但我的 unix 技能让我失望了。而且,实际上我什至不知道是否可以这样做,有人可以帮忙吗?
您可以进一步将 grep 命令通过管道传递给 xargs。参见示例:
grep ' =$' $ORACLE_HOME/network/admin/listener.ora | grep -v '(' | grep -v 'SID_LIST' | sed 's/=//g' | xargs -n 1 lsnrctl status
我已经扩展了你的 grep 并通过 xargs 将它发送到 lsnrctl。
使用以下命令,我可以在 listener.ora 中获取当前 $ORACLE_HOME
的侦听器名称grep ' =$' $ORACLE_HOME/network/admin/listener.ora | grep -v '(' | grep -v 'SID_LIST' | sed 's/=//g'
但是,我的目标是通过退出 SQLPLUS 将其输出。
SQL> !lsnrctl status
这样上面的命令将使用 grep 的输出:
SQL> !lsnrctl status <output_of_grep>
我正在努力尝试将其全部放入某个变量中,但我的 unix 技能让我失望了。而且,实际上我什至不知道是否可以这样做,有人可以帮忙吗?
您可以进一步将 grep 命令通过管道传递给 xargs。参见示例:
grep ' =$' $ORACLE_HOME/network/admin/listener.ora | grep -v '(' | grep -v 'SID_LIST' | sed 's/=//g' | xargs -n 1 lsnrctl status
我已经扩展了你的 grep 并通过 xargs 将它发送到 lsnrctl。