Выполнение созданной команды из сценария удара

Вы могли попытаться видеть, регистрируется ли это и если можно смонтировать диск как так? Конечно, существует способ использовать boot команда. Альтернативы включают сетевую установку или предоставление доступа к медиа-файлу ISO, в ОС, где Вы могли просто смонтировать, что это затем выполняет обновление программного обеспечения непосредственно от машины с помощью luupgrade как здесь, например. Я читал, можно получить доступ хорошо подсказка на экране начальной загрузки путем нажатия STOP+A на исходной клавиатуре. Я предполагаю, что все это зависит от Вашей установки и активов, доступных... как инициировать программный сервер, который может быть установлен с медиа установки на другой машине, если я понимаю правильно.

Возможно, specificy тип внешнего DVD-привода?

3
09.03.2019, 15:44
1 ответ

Когда вы оставляете переменную экспансию без Quoted, он подвергается разбиванию слов и расширение имени файла (I.e. Globbing). Это не анализируется как команда Shell. В целом, когда вы динамически построите фрагмент оболочки для выполнения, правильный способ выполнить его Eval «$ A» , где A содержит строку в анализе в качестве кода оболочки.

В вашем первом фрагменте стоимость A - это строка my_cmd --verbose . Разделение слова разбивает его на два слова My_cmd и - Verbose . Глобубинг ничего не делает, так как в любом из слов нет подстановочных знаков. Таким образом, команда, возникающая в результате расширения $ A , состоит из двух слов my_cmd и - Verbose , поэтому команда my_cmd (который Может быть псевдоним, функция, встроенный или исполняемый файл в пути) выполняется с одним аргументом - Verbose .

Во втором фрагменте вещи похожи, с тремя словами, вызванными расширением: URL = Myurl , my_cmd и - Verbose . Это приводит к попытке выполнить команду URL = Myurl с двумя аргументами.

Команда Shell URL = myurl my_cmd -verbose анализируется по-разному: первое слово анализируется как назначение переменной URL , и поскольку имеется имя команды после Это назначение устанавливает переменную среды в течение длительности только команды. Это часть анализа, не то, что сделано после расширения, поэтому требуется равный знак, чтобы быть частью исходного кода оболочки, равный знак не может быть результатом некоторого расширения.

Не храните команду с параметрами в строку . Используйте массив. Для сложной команды, например, где вы устанавливаете переменные или выполнять перенаправление в дополнение к запуску команды, используйте функцию, если вообще возможно, а если не использовать EVAL (с большим уходом за правильно

4
27.01.2020, 21:19

Теги

Похожие вопросы