考虑:
#!/bin/bash
/u01/app/oracle/middleware/oracle_common/common/bin/wlst.sh <<!END
connect('user','pw');
p=redeploy('application');
p.printStatus();
exit();
!END
上面的脚本可以帮助我重新部署 weblogic 应用程序。我不明白的地方还有wlst.sh <<!END
最后一个!END
。
这两个语句的作用是什么!END
?
答案1
它是此处提供文档<<!END
--和之间的行!END
被输入到 wlst.sh 的标准输入
也可以表达为:
echo "connect('user','pw');
p=redeploy('application');
p.printStatus();
exit();" | /u01/app/oracle/middleware/oracle_common/common/bin/wlst.sh
但不会产生在子 shell 中运行该命令的潜在影响。
也可以表达为:
echo "connect('user','pw');
p=redeploy('application');
p.printStatus();
exit();" > someFile
/u01/app/oracle/middleware/oracle_common/common/bin/wlst.sh < someFile
rm someFile