Bash скрипт перенаправления команды истории в файл в docker контейнере - PullRequest
0 голосов
/ 10 марта 2020

Итак, у меня есть этот скрипт, который отлично работает на моей хост-машине

#!/bin/bash -i
history > history.txt

, но когда я выполняю его в моем docker контейнере, мой history.txt выглядит следующим образом: (он копирует мой скрипт в файл, и если я повторно выполняю скрипт, он снова делает то же самое!)

1  #!/bin/bash -i
2  history > history.txt

, кстати, когда я выполняю «history> history.txt» прямо из терминала, он работает нормально.

1 Ответ

0 голосов
/ 10 марта 2020

При bash -i выполненные строки записываются в историю. Вы выполняете строки из своего скрипта, поэтому строки из вашего скрипта отображаются в history.txt.

. Вы также можете увидеть это в конце своей истории на хосте:

$ tail -n 2 history.txt
29419  #!/bin/bash -i
29420  history > history.txt

В чистом Docker экземпляре, очевидно, нет предыдущей истории, поэтому все эти строки - это все, что вы получаете:

$ tail -n 2 history.txt
    1  #!/bin/bash -i
    2  history > history.txt

Невозможно получить прямой доступ к вашей истории bash за пределами Docker изнутри, так что если это то, что вы хотите сделать, вы должны сначала сбросить его в файл, а затем дать Docker доступ к этому файлу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...