2017-02-13 3 views
2

Я пытаюсь выполнить несколько сценариев оболочки, разделив каждую команду, используя ' &', используя скрипт Azure Custom Extension для Linux.Астрономический скрипт Azure для linux

Шаблоны ARM - это модель развертывания.

Пример сниппета:

"settings": { 
    "fileUris": "[script1,script2, script3]", 
    "commandToExecute": "sh script1.sh && sh scrip2.sh && sh script3.sh" 
} 

Но только первый скрипт выполняет и другие два сценария не выполняет.

Примечание: ошибок в пути к журналу сценариев также нет. Я вижу, что все скрипты загружаются в путь к папке waagent.

Любая помощь будет действительно замечательной.

Операционная система: Linux

ответ

4

ARM шаблон Snippet

cmdToExecute = script1.sh param1 param2 & & script2.sh param1 param2 & & script3.sh передается как строка в сценарий обертки, такой как

"commandToExecute": "[concat ('sh script_execut or.sh \ "», параметры ('cmdToExecute') '\ "')]"

script_executor.sh - принимает все команды в качестве параметров и выполняет каждую команду

1

Если у вас есть несколько сценариев, можно создавать сценарии точки в записи, которая вызывает зависимые сценарии, а затем загрузить сценарий точки входа, зависимые сценарии и любые другие зависимые двоичные файлы в сценарий местоположение (Azure storage blob или GitHub). Вы можете использовать следующий формат для загрузки нескольких файлов: “fileUris” : [“ScriptFileUri1”, “ScriptFileUri2”, "ScriptFileUri3"]

Более подробную информацию можно получить по этому адресу link.

Если вы хотите установить script1.sh в качестве точки входа сценария, вы могли бы изменить вам сценарий, например, как показано ниже:

##script in scrpit1.sh 
echo "hello world" 
##call script2.sh 
./script2.sh 

##call script3.sh 
./script3.sh 
+0

script1, Скрипт2, Script3 уже загружен в Лазурные блочные капли. Я не упомянул, что каждый сценарий принимает некоторые параметры [значения времени выполнения, такие как (Dynamic Ip и т. Д.)] Я придумал другое решение, где я передаю все команды в виде строки в другой скрипт, который, в свою очередь, заботится об исполнении – SaiVikas

+0

@SaiVikas Спасибо за вашу долю. Использование «скрипта точки входа» является хорошим решением. –