Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Oracle部署过程中意外标记“(';”附近出现语法错误_Linux_Bash - Fatal编程技术网

Linux Oracle部署过程中意外标记“(';”附近出现语法错误

Linux Oracle部署过程中意外标记“(';”附近出现语法错误,linux,bash,Linux,Bash,我有一个脚本,它是Oracle Grid Control 11g和Cloud Control 12c中使用的部署过程的一部分。它在11g中工作正常,但在12c中运行时,我收到以下错误消息: /u01/tmp/JOB_F0820842485038B3E04301723F0A70AE/configure_init_conf.sh: 第63行:意外标记附近的语法错误(' /u01/tmp/JOB_F0820842485038B3E04301723F0A70AE/configure_init_conf.

我有一个脚本,它是Oracle Grid Control 11g和Cloud Control 12c中使用的部署过程的一部分。它在11g中工作正常,但在12c中运行时,我收到以下错误消息:

/u01/tmp/JOB_F0820842485038B3E04301723F0A70AE/configure_init_conf.sh: 第63行:意外标记附近的语法错误
('
/u01/tmp/JOB_F0820842485038B3E04301723F0A70AE/configure_init_conf.sh:
第63行:
done 脚本的这一部分如下所示:

# find_domains
# Purpose: Will find WLS domaons
#
find_domains()
{
  while read MANAGED_SERVER
  do
    [ -z "$MANAGED_SERVERS" ] && MANAGED_SERVERS="$MANAGED_SERVER" || MANAGED_SERVERS="$MANAGED_SERVERS $MANAGED_SERVER"
  done < (cd ${MIDDLEWARE_HOME}/user_projects/domains/${DOMAIN_NAME}/servers/; find *WLS* -prune -type d)
}
# find_domains
# Purpose: Will find WLS domaons
#
find_domains()
{
  while read MANAGED_SERVER
  do
    [ -z "$MANAGED_SERVERS" ] && MANAGED_SERVERS="$MANAGED_SERVER" || MANAGED_SERVERS="$MANAGED_SERVERS $MANAGED_SERVER"
  done < <( cd ${MIDDLEWARE_HOME}/user_projects/domains/${DOMAIN_NAME}/servers/; find *WLS* -prune -type d)
}
#查找域
#目的:将查找WLS域
#
查找_域()
{
在读取托管的\u服务器时
做
[-z“$MANAGED_SERVERS”]&&MANAGED_SERVERS=“$MANAGED_SERVER”| MANAGED_SERVERS=“$MANAGED_SERVERS$MANAGED_SERVER”
完成<(cd${MIDDLEWARE\u HOME}/user\u projects/domains/${DOMAIN\u NAME}/servers/;find*WLS*-prune-type d)
}
有趣的是,如果我将脚本上传到服务器并运行它,我不会抛出任何错误。只有在12c中通过部署过程运行它时才会抛出错误。所以我的问题是:你能看到任何错误吗?或者我应该将其视为12c中的错误/问题吗?我不是真正的脚本大师,如果我需要,只需要一些备份向Oracle发送服务请求…可能会添加脚本部分原来的样子:

# find_domains
# Purpose: Will find WLS domaons
#
find_domains()
{
  while read MANAGED_SERVER
  do
    [ -z "$MANAGED_SERVERS" ] && MANAGED_SERVERS="$MANAGED_SERVER" || MANAGED_SERVERS="$MANAGED_SERVERS $MANAGED_SERVER"
  done < (cd ${MIDDLEWARE_HOME}/user_projects/domains/${DOMAIN_NAME}/servers/; find *WLS* -prune -type d)
}
# find_domains
# Purpose: Will find WLS domaons
#
find_domains()
{
  while read MANAGED_SERVER
  do
    [ -z "$MANAGED_SERVERS" ] && MANAGED_SERVERS="$MANAGED_SERVER" || MANAGED_SERVERS="$MANAGED_SERVERS $MANAGED_SERVER"
  done < <( cd ${MIDDLEWARE_HOME}/user_projects/domains/${DOMAIN_NAME}/servers/; find *WLS* -prune -type d)
}
#查找域
#目的:将查找WLS域
#
查找_域()
{
在读取托管的\u服务器时
做
[-z“$MANAGED_SERVERS”]&&MANAGED_SERVERS=“$MANAGED_SERVER”| MANAGED_SERVERS=“$MANAGED_SERVERS$MANAGED_SERVER”

完成<为什么不直接
查找${MIDDLEWARE\u HOME}/user\u projects/domains/${DOMAIN\u NAME}/服务器/…
而不是以前的
cd
ing?听起来12c运行的是一个不支持进程替换的bash版本。如果将其更改为
pushd blablablablabla;find…| while read MANAGED_SERVER;do…;done;popd