gpt4 book ai didi

linux - 如何从 docker 容器内的主机 bash 脚本运行并保留在容器中的 bash 中

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:22:09 24 4
gpt4 key购买 nike

<分区>

我正在尝试自动化一些本应是一项相当简单的任务,但我找不到正确的标志/方法来完成它。

我正在自动化一堆 docker 容器,我想以某种人类可读的形式知道我使用的是哪个 shell。

所以,我开始/创建一个容器:

docker run -v /home/igor/Downloads:/home/Downloads/ -h debian7 -p 8081:8080 -itd --name igorDebian72 debian:7

然后尝试进入它的 bash,它已经很好地改变了提示和颜色:

sudo docker exec -ti igorDebian72 /bin/bash -c "`export PS1="\e[1;32m[\u@ \\H \\W \\@]\$ \e[m "`"

但是,这似乎是“运行”命令并返回主机,所以它没有用。

如果我分别运行这两件事:

sudo docker exec -ti igorDebian72 /bin/bash 

这让我进入容器 bash,然后:

export PS1="\e[1;32m[\u@ \\H \\W \\@]\$ \e[m "

给我的正是我想要的。具有可见容器名称和与主机颜色不同的 Bash 提示符。

如何在一行中实现这一点?

附言与此同时,我使用这里的评论尝试了这个:

sudo docker exec -ti igorDebian72 bash --rcfile  <(echo 'export PS1="\e[1;32m[\u@ \\H \\W \\@]\$ \e[m "')

sudo docker exec -ti igorDebian72 bash --rcfile <(export PS1="\e[1;32m[\u@ \\H \\W \\@]\$ \e[m ")

它保留在 bash 中,但似乎没有执行脚本。

我试着将它保存在一个 .sh 文件中,然后这样做:

sudo docker exec -ti igorDebian72 bash --rcfile <(echo trueColors.sh)

再次,保留在容器中,但不运行脚本。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com