在带有“kathara Image”的 Docker 容器中执行简单的历史 bash 脚本时出错
Posted
技术标签:
【中文标题】在带有“kathara Image”的 Docker 容器中执行简单的历史 bash 脚本时出错【英文标题】:Error in a simple history bash script execution in a Docker container with a "kathara Image" 【发布时间】:2020-08-23 18:24:51 【问题描述】:所以我的代码在我的机器上运行良好
#!/bin/bash
set -o history
history -w "hist.txt"
但是当我在我的 docker 容器中执行它时,它会在 hist.txt 文件中填充:
history -w "hist.txt"
另外,每当我在脚本中执行history > hist.txt
之类的操作时,它总是相同的。
提前致谢!
【问题讨论】:
我确实试过了,但我在 hist.txt 中只找到了 1 个条目。可以分享一下 Dockerfile 以及如何启动 docker 容器吗? 我没有使用 Dockerfile,而是使用基于“kathara/quagga”映像的容器来启动容器,我使用“kathara lstart”命令,但我也使用手动启动它:docker运行 -it kathara/quagga bash 并且问题仍然存在我认为问题是 kathara 图像没有? 【参考方案1】:history -w "hist.txt"
是在该上下文中执行的唯一命令,因此history
仅包含 -> 它是从“hist.txt”中找到的。
这可能是因为没有定义 HISTFILE 环境变量。
例如,您可以通过添加行 HISTFILE=~/.bash_history
来设置它。只有在该文件中有一些历史记录时,这才有帮助。
如果您在该 Docker 容器中没有先前的历史记录,它可能是空的。
相关问题:https://unix.stackexchange.com/questions/5684/history-command-inside-bash-script
【讨论】:
以上是关于在带有“kathara Image”的 Docker 容器中执行简单的历史 bash 脚本时出错的主要内容,如果未能解决你的问题,请参考以下文章