schroot: передать команду для выполнения, как если бы она была в оболочке - PullRequest
1 голос
/ 19 июня 2010

я хочу сделать что-то вроде:

schroot -c name -u root "export A=3 && export B=4"

но я получаю ошибку:

Failed to execute “export”: No such file or directory

Другими словами, я хочу иметь возможность программно выполнять команды оболочки внутри schroot окружение.Как правильно получить такое поведение?

Ответы [ 3 ]

5 голосов
/ 19 июня 2010

Рекомендую:

schroot -c name -u root sh -c "export A=3 && export B=4"

Это запускает оболочку с опцией '-c', указывающей ей (оболочке) прочитать следующий аргумент как команду (сценарий), которую нужно выполнить. Тот же метод работает с другими аналогичными командами: 'su', 'nohup', ...

4 голосов
/ 19 июня 2010
schroot -c name -u root -- export A=3 && export B=4

Обеспечение того, что /etc/schroot/schroot.conf имеет

run-exec-scripts=true
run-setup-scripts=true
1 голос
/ 19 июня 2010

Вы можете попробовать

schroot -c name -u root "/bin/bash -c 'export A=3; export B=4'"

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

...