linux - 如何编写自动输入 "docker container"并执行其他操作的 bash 脚本?

标签 linux bash shell docker

我想实现一个自动 bash 脚本,它进入一个正在运行的 docker 容器,并做一些事情:

# 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容器,不会做其他操作。

有什么方法可以自动进入docker container并做其他事情吗?

最佳答案

你可以使用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

关于linux - 如何编写自动输入 "docker container"并执行其他操作的 bash 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35547966/

相关文章:

linux - 如何通过换行符或字符读取输入?

linux - 在 Jenkins build Chef 时获得 "Cannot run program "bash""

linux - 连接两个文件并使用Shell脚本进行计算

linux - 由于软件包损坏,Phusion Passenger Nginx 模块安装程序 v3.0.17 在 Debian 6.0.5 amd64 上出现问题

linux - 列出目录中具有扩展名的所有文件,并给出 Unix 中每个此类文件的计数

c - 从自身内部获取共享对象的运行时路径

bash - Glob 模式包含具有扩展名的文件(特定目录除外)

python - 如何让我的程序利用制表符补全?

linux - 如何添加详细选项来控制脚本输出?

linux OOM(内存不足) killer 电子邮件通知?