команда запуска vz az vim вызывает сценарий оболочки с параметрами - PullRequest
0 голосов
/ 07 июня 2019

Я хочу запустить скрипт, используя az cli invoke.

I_PASS_THIS_VAR=${1}
az vm run-command invoke     --command-id RunShellScript \
                                 --scripts '@foo.sh' \
                                 --parameters=${I_PASS_THIS_VAR} \
                                 -o tsv

где я передаю $ I_PASS_THIS_VAR, и это какая-то строка. Тогда foo.sh это:

#!/bin/bash
PARAM=${1}
if [ ${PARAM} ]
then
    echo "export MY_PARAM=${PARAM}" >> "${HOME_DIR}/.bashrc"
fi

у меня не работает. MY_PARAM ничего не значит. Почему?

1 Ответ

0 голосов
/ 10 июня 2019

Чтобы запустить скрипт оболочки на виртуальной машине Linux, команда должна выглядеть следующим образом:

az vm run-command invoke -g group_name -n vm_name --command-id RunShellScript --scripts @run_command.sh --parameters param1

Сценарий оболочки находится в том месте, где вы запускаете команду Azure CLI. И сценарий оболочки для вас будет так:

if [ $1 ]
then
        echo "export My_Param=$1" >> "/path/.bashrc"
fi

Можно ввести параметры в команду CLI Azure в качестве значения --parameter и заключить их в кавычки в сценарии оболочки, как показано выше. Вы должны позаботиться о том, чтобы path в приведенном выше коде был абсолютным путем. Например, /home/useraccount/.bashrc и useraccount - это пользователь, которого вы хотите экспортировать в переменную среды.

...