BASH SCRIPT - > ssh server_name sudo -u用户sqlplus查询 - >变成变量

时间:2017-08-23 13:53:31

标签: linux bash ssh

在我的脚本部分我需要:

  1. SSH到其他服务器
  2. 使用sudo -u run sqlplus(公司政策 - >没有其他办法,没有可能更改Linux参数。)
  3. 将输出保存到变量以供以后使用脚本
  4. 它对我来说没有变数。 我正在尝试以下方法(遗憾的是不适用于变量):

    TEST_VARIABLE=$(`ssh -q -S $1 sudo -u dbabatch /some_path/dba/sqlplus $SOURCE_INSTANCE << EOF
    select * from v$instance;
    exit`
    EOF)
    

    你有什么想法吗?

    谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

TEST_VARIABLE=$(ssh -q -S $1 sudo -u dbabatch /some_path/dba/sqlplus -s $SOURCE_INSTANCE <<EOF
SET HEADING OFF NEWPAGE NONE TRIMSPOOL ON
select * from v\$instance;
EOF
) 

SET HEADING OFF NEWPAGE NONE TRIMSPOOL ON会抑制列标题和页面制动(如果只返回一行,则实际上不需要)

sqlplus -s会禁止sqlplus banner和sqlplus提示符。