簡體   English   中英

如何使用 Dockerfile 設置 $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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM