首页 > 解决方案 > 如何在通过/bin/bash打开的shell中执行linux命令

问题描述

我是 Linux 的新手,想知道如何在打开 shell 时运行命令/bin/bash

例如,我要执行的步骤:

Step1:运行docker exec命令启动快速启动虚拟机。

$ docker exec -it 7f8c1a16e5b2 /bin/bash

Step2:上面的命令给出了控制台上快速启动虚拟机的句柄。现在我想在有人启动 docker quickstart 控制台时默认运行以下命令(步骤 1)

cd
. ./.bash_profile

我需要一些关于如何做到这一点的指导。显然,将所有这些语句放在一个 shell 脚本中并没有帮助,因为Step2的命令将在新打开的 shell(快速启动 vm)中执行。我们的想法是将所有这些语句放在一个 shell 脚本中,并在我们想要在 VM 控制台中获取会话时执行它。

标签: linuxcloudera-quickstart-vm

解决方案


-c您可以使用该选项将要在容器内执行的命令传递给 bash 。

看起来像这样:

docker exec -it 7f8c1a16e5b2 /bin/bash -c "cd && . ./.bash_profile && /bin/bash"

推荐阅读