【问题标题】:0403-057 Syntax error at line 54: `(' is not expected0403-057 第 54 行的语法错误:“(”不是预期的
【发布时间】:2015-09-09 03:19:48
【问题描述】:
arr=(`${ORACLE_HOME}/bin/sqlplus -s "${user}"/"${pass}"@ID <<EOF
    set heading off
    select distinct name from backup;
    exit;
    EOF`)

在 AIX 7.1 中执行脚本时出现以下错误。

0403-057 第 54 行的语法错误:`(' 不是预期的。

在 RHEL 中,它工作正常。 我需要将查询结果存储在一个名为 arr 的数组中。 您能否提出任何建议。

【问题讨论】:

  • 确保您是通过bashksh 而不是通过/bin/sh 或类似方式运行脚本。

标签: bash oracle11g ksh


【解决方案1】:

您的 here 文档终止符有问题 - 它必须从第 0 列开始,并且在一行中单独存在。

arr=($(${ORACLE_HOME}/bin/sqlplus -s "${user}"/"${pass}"@ID <<EOF
    set heading off
    select distinct name from backup;
    exit;
EOF
))

请注意,ksh88 不支持这种数组语法,请确保您使用的是 bash 或 ksh93。此外,不推荐使用反引号,尽量不要使用它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-10
    • 2014-01-24
    • 1970-01-01
    • 2013-07-16
    • 2017-12-08
    • 2014-03-03
    • 2016-11-09
    • 2018-12-18
    相关资源
    最近更新 更多