下面脚本的功能是循环地在各个container
中执行命令:
#!/bin/bash -x
for i in {1..2}
do
docker exec -i hammerdb_net${i} bash <<-EOF
su oracle
source /tmp/ora_env
cd /data/oracle/tablespaces/
rm -f *.html
./create_awr.sh
mv awr.html awr_${i}.html
EOF
done
需要注意的是在do
和done
之间应该使用tab
而不是空格。
参考资料:
Indenting bourne shell here documents;
How to write a bash script which automate entering “docker container” and doing other things?;
Can’t indent heredoc to match nesting’s indent。