Я пытаюсь использовать bash (sh) script в Windows для запуска тестового развертывания. Я запускаю script из консоли gitbash, чтобы у меня была копия bash, но это означает, что лазурный клик недоступен (т.е. Команда azure не найдена). Кто-нибудь знает, как я могу заставить Azure cli работать в GitBash (я предполагаю, что я просто установил его где-то еще), или мне нужно изменить другой способ использования bash
Azure CLI в Git Bash
Ответ 1
Иногда команды в windows git bash требуют добавления .cmd. Кроме того, еще один способ установки Azure-Cli - через Chocolatey https://chocolatey.org/
Попробуйте эту команду после установки Azure-Cli:
az.cmd --version
Повторяя mscrivo, вы можете запустить строку ниже в CMD, а не в PowerShell (повышен /admin)
echo "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd" $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${11} ${12} ${13} ${14} ${15} > "C:\Program Files\Git\mingw64\bin\az"
Теперь вы должны иметь возможность работать в Git bash:
az --version
Ответ 2
artberri отметил лучшее решение в комментарии:
Добавьте следующее к %USERPROFILE%\.bashrc
или %USERPROFILE%\.profile
alias az='az.cmd'
Однако, если вы хотите использовать az в скриптах bash, вам понадобится что-то более радикальное, запустите следующее из командной строки:
echo "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd" $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${11} ${12} ${13} ${14} ${15} > "%SYSTEMROOT%\az"
По сути, это создаст команду passthrough az в папке Windows, которую можно запустить из любого места и передать параметры в az.cmd.
Ответ 3
Вам нужно установить CLI на свой компьютер. Существует несколько способов сделать это.
Я друг NodeJS, поэтому я использую npm для установки:
npm install -g azure-cli
Подробнее здесь: https://www.npmjs.com/package/azure-cli
Но вы можете сделать это и другими способами. Очень хороший способ - использовать докер. Существуют контейнеры от Microsoft с предустановленной версией Azure CLI.
docker run -it --name azure microsoft/azure-cli
В Windows 10 с помощью ubuntu bash вы можете использовать:
echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ wheezy main" | \
sudo tee /etc/apt/sources.list.d/azure-cli.list
sudo apt-key adv --keyserver packages.microsoft.com --recv-keys 417A0893
sudo apt-get install apt-transport-https
sudo apt-get update && sudo apt-get install azure-cli
Или как энтузиаст python запускать
pip install --user azure-cli
Самое главное, что через переменную пути доступен "az" / "az.bat" или "azure" bin.
Ответ 4
Другими словами Azure CLI для Windows несовместим с Git Bash для Windows
Ответ 5
Не используйте MSI установщик вообще. Поскольку интерфейс командной строки Azure реализован на Python, используйте метод установки Python, как писал @blndev. Таким образом, вместо az.cmd
вы получаете az.bat
оболочки az.bat
и az
, а путь установки не будет содержать пробелов.
pip install --user azure-cli
Более подробную информацию об этом методе можно найти по адресу https://blogs.msdn.microsoft.com/brijrajsingh/2017/03/02/install-azure-cli-2-0-on-windows/
Символьная ссылка работала для меня большую часть времени, но некоторые команды все еще терпят неудачу, например
az dls fs access set-entry ...
'C:\Program' is not recognized as an internal or external command, operable program or batch file
Ответ 6
Я попробовал решение @mscrivo. Однако при использовании команды az в сценарии оболочки у вас по-прежнему возникают проблемы из-за пробелов в пути. Для этого я создал файл azproxy.cmd в% SYSTEMROOT%, содержащий
@echo off
"C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd" %*
А затем создать ссылку на этот файл
mklink "%SYSTEMROOT%\az" "SYSTEMROOT%\azproxy.cmd"
PS расширенное значение% SYSTEMROOT% не должно содержать пробелов, конечно