Bash: команда Chroot, передающая 2 строковых параметра или лучше запустить серию команд - PullRequest
2 голосов
/ 28 июля 2010

Я хотел бы сделать что-то вроде этого:

chroot /mount-point /path/to/script $var1 $var 2

Будет ли это работать?Будет ли передан chroot-скрипт Perl по этим двум параметрам?Если нет, то как это сделать?

В противном случае, есть ли способ просто сделать chroot в сценарии, а затем начать выполнять такие команды, как

perl script.pl $var1 $var2 etc?

Как я понимаюпростое их последовательное запись в bash приведет к их выполнению только после завершения chroot, и управление вернется туда, где у меня не установлено perl (это виртуальный диск, запущенный из PXE).

Ответы [ 2 ]

0 голосов
/ 29 июля 2010

Или вы можете использовать Expect, язык сценариев для взаимодействия с вводом / выводом. http://en.wikipedia.org/wiki/Expect

0 голосов
/ 28 июля 2010

Chroot должен справиться с этим просто отлично.Просто убедитесь, что ваш Perl-скрипт может найти интерпретатор Perl из контекста chroot, что исполняемый файл Perl может найти необходимые разделяемые библиотеки и что ваши переменные, если они содержат пути, имеют пути относительно нового корня, а не старого,Возможно, вы захотите скомпилировать статически связанный исполняемый файл perl, если это проще для вас, чем делать копии необходимых общих библиотек в chroot.

...