Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何编写一个bash脚本来自动输入;“码头集装箱”;还有做其他事情?_Linux_Bash_Shell_Docker - Fatal编程技术网

Linux 如何编写一个bash脚本来自动输入;“码头集装箱”;还有做其他事情?

Linux 如何编写一个bash脚本来自动输入;“码头集装箱”;还有做其他事情?,linux,bash,shell,docker,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容器,但不执行其他操作 是否

我想实现一个自动的
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容器并执行其他操作?

您可以使用
bash-c

docker exec -it hammerdb_net8 bash -c 'cd /data/oracle/tablespaces/; pwd; ls'
要运行一系列命令,请使用:


docker exec-i hammerdb_net8 bash“
docker…bash使用
'EOF'
使所有行不受参数扩展的影响,例如,您可以使用
p=$PWD
并且
$PWD
在当前shell中不会被扩展。您能给出一个例子吗?
docker exec -i hammerdb_net8 bash <<'EOF'
cd /data/oracle/tablespaces/
pwd
ls
EOF