我想实现一个自动bash
脚本,该脚本输入正在运行的docker container
,然后执行一些操作:
# cat docker.sh
#!/bin/bash -x
docker exec -it hammerdb_net8 bash
cd /data/oracle/tablespaces/
pwd
在终端上执行脚本:
# ./docker.sh
+ docker exec -it hammerdb_net8 bash
[root@npar1 /]#
输出显示只登录docker container
,但不会进行其他操作。
是否有任何方法可以自动输入docker container
并执行其他操作?
答案 0 :(得分:3)
您可以使用bash -c
:
docker exec -it hammerdb_net8 bash -c 'cd /data/oracle/tablespaces/; pwd; ls'
要运行一系列命令,请使用here-doc in BASH:
docker exec -i hammerdb_net8 bash <<'EOF'
cd /data/oracle/tablespaces/
pwd
ls
EOF