【发布时间】:2018-12-18 05:47:42
【问题描述】:
这是我运行 Perl 脚本的 shell 脚本。 ade 是一个控制版本控制系统,useview 提供了不同于通常命令行的环境。
当我运行它抛出的脚本时
stty:标准输入:设备的 ioctl 不合适
当我从命令行手动执行而不是使用为自动化构建的脚本时,Perl 脚本运行时不会出现任何错误。
#!/bin/sh
host="slc09xhz.us.oracle.com"
port=1609
sid=prtr11db
fprResult=/home/$USER/Desktop/myscripts/fprResult.txt
echo "HOST:$host"
echo "PORT:$port"
echo "SID:$sid"
echo "ENV:$env"
instance="${host}:${port}/${sid}"
dvn=tv1
libpath="/ade/${USER}_${dvn}/fainteg/dist/merant/lib:/usr/lib:/ade/${USER}_${dvn}/dmsc/lib:/ade/${USER}_${dvn}/ldap/lib:/ade/${USER}_${dvn}/oracle/lib:/ade/${USER}_${dvn}/fusionapps/lib/linuxx64:/ade/${USER}_${dvn}/fusionapps/hcm/pyt/lib/linuxx64:/ade/${USER}_${dvn}/bishiphome/dist/clients/epm/Essbase/EssbaseRTC/bin:/ade/${USER}_${dvn}/opmn/lib:/net/slcai797.us.oracle.com/scratch/upatch/v2.17.0/lib/import/common:/net/slcai797.us.oracle.com/scratch/upatch/v2.17.0/lib/perl:/usr/local/bin/perl_5.6.1/lib/5.6.1/i686-linux:/usr/local/bin/perl_5.6.1/lib/5.6.1:/usr/local/bin/perl_5.6.1/lib/site_perl/5.6.1/i686-linux:/usr/local/bin/perl_5.6.1/lib/site_perl/5.6.1:/usr/local/bin/perl_5.6.1/lib/site_perl"
perlp="/net/slcai797.us.oracle.com/scratch/upatch/v2.17.0/lib/import/common:/net/slcai797.us.oracle.com/scratch/upatch/v2.17.0/lib/perl:/usr/local/bin/perl_5.6.1/lib/5.6.1/i686-linux:/usr/local/bin/perl_5.6.1/lib/5.6.1:/usr/local/bin/perl_5.6.1/lib/site_perl/5.6.1/i686-linux:/usr/local/bin/perl_5.6.1/lib/site_perl/5.6.1:/usr/local/bin/perl_5.6.1/lib/site_perl"
echo "INSTANCE: $instance"
ade useview $dvn << EOF > "$fprResult"
cd /net/slcai797/scratch/upatch/LATEST/bin
setenv LD_LIBRARY_PATH $libpath
setenv PATH "${PATH}:${perlp}"
#printenv | grep PATH
#printenv | grep LIB
perl -w /net/slcai797/scratch/upatch/LATEST/bin/uPatchSubmit -INSTANCE=slc09xhz.us.oracle.com:1609/prtr11db -ADE_VIEW_ROOT=$AVR -WAIT_FOR_COMPLETE=N | tee $fprResult
EOF
【问题讨论】:
-
ade对 HERE 文档有什么作用? -
似乎是一个需要 tty 的问题。