![](/img/trans.png)
[英]How can I pipe a prompt string (PS1) into a command and have the text result be PS1?
[英]How can I set $PS1 with Dockerfile?
如何在 Dockerfile 中設置 PS1 環境變量(bash 提示符)?
我嘗試了ENV PS1 "\\h:\\W \\u$ \u0026quot;
但是這個命令不會改變提示。
不知道為什么上面的ENV
沒有設置PS1提示。
我該怎么做?
這里發生的事情是 PS1 正在由您的映像中的文件~/.bashrc
重新定義,並在您的容器啟動時自動獲取(它可能在另一個文件中 - 我不確定 PS1 是否總是在 ~ /.bashrc 在所有 Linux 發行版上)。
假設它是在~/.bashrc
定義的,那么您可以在 Dockerfile 中編寫一個RUN
命令,如下所示:
RUN echo PS1=\"\\h:\\W \\u$ \" >> ~/.bashrc
等等!
簡單的ENV PS1=...
不起作用,因為 PS1 稍后會在.bashrc
文件中重新定義。 這是一個簡單的解決方案,無需轉義您的 PS1 字符串:
ENV PS1A="[\d \[\e[33m\]\t\[\e[m\]] \[\e[31m\]\u\[\e[m\]@\[\e[31m\]\h\[\e[m\] \[\e[36m\]\w\[\e[m\]\n $ "
RUN echo 'PS1=$PS1A' >> ~/.bashrc
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.