Как выполнять команды linux в оболочке, открытой через / bin / bash - PullRequest
0 голосов
/ 21 мая 2019

Я новичок в Linux и хотел бы знать, как запустить команду при открытии оболочки через /bin/bash?

Например, шаги, которые я хочу выполнить:

Шаг 1: Запустите команду docker exec, чтобы запустить виртуальную машину быстрого запуска.

$ docker exec -it 7f8c1a16e5b2 /bin/bash

Шаг 2: Приведенная выше команда дает дескриптор быстрого запуска vm на консоли.Теперь я хочу запустить приведенную ниже команду по умолчанию, когда кто-нибудь запускает консоль быстрого запуска Docker (шаг 1)

cd
. ./.bash_profile

Мне нужно несколько советов о том, как это сделать.Очевидно, что помещение всех этих операторов в один скрипт оболочки не помогает, так как команды Step2 должны выполняться во вновь открытой оболочке (quickstart vm).Идея состоит в том, чтобы поместить все эти операторы в один сценарий оболочки и выполнить его, когда мы хотим заполучить сеанс в консоли VM.

1 Ответ

2 голосов
/ 21 мая 2019

Вы можете передавать команды, которые вы хотите выполнить внутри контейнера, с помощью опции -c.

Это будет выглядеть примерно так:

docker exec -it 7f8c1a16e5b2 /bin/bash -c "cd && . ./.bash_profile && /bin/bash"
...