linux - 如何在通过/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 控制台中获取会话时执行它。
解决方案
-c
您可以使用该选项将要在容器内执行的命令传递给 bash 。
看起来像这样:
docker exec -it 7f8c1a16e5b2 /bin/bash -c "cd && . ./.bash_profile && /bin/bash"
推荐阅读
- node.js - Mongoose如何引用相同的架构
- python - 将 CSV 文件解析为每个键具有多个值的字典
- php - 如何为 Wordpress Gutenberg 图像块输出添加宽度和高度?
- dart - 如何将 array.map().toList 转换为泛型类型?
- php - 我想在php中下载一个带有curl的代理列表
- flutter - 选择图像时按下后退按钮时应用程序崩溃
- wordpress - 如何从 wordperess 中删除 pingback 标记 xmlrpc
- watson-text-to-speech - 我可以在视频中使用 Watson Text to Speech 吗?
- reactjs - 如果请求的来源不正确,我如何拒绝提供 index.html?
- c# - 找到一个 TMP_InputField,然后从中获取文本