Для обычных команд, таких как sudo apt-get update -y
, просто используйте оператор останова парсинга:
Ubuntu1804 run --% sudo apt-get update -y
Для таких команд, как curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
, который включает символы конвейера (|
), использование только --%
не будетРабота.В таких случаях заключение команды в двойные кавычки работает следующим образом:
Ubuntu1804 run --% "curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -"
Кроме того, избегайте использования обратной косой черты или новой строки в командах при использовании оператора --%
.Например, вместо использования как это:
Ubuntu1804 run --% sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
Выполните как:
Ubuntu1804 run --% sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
Включение переменных окружения в команду WSL с использованием как $Env:USER
не работает для командыsudo usermod -aG docker $USER
.
Это ошибка, если я использую ее так:
Ubuntu1804 run sudo usermod -aG docker $Env:USER
или вот так:
Ubuntu1804 run --% sudo usermod -aG docker $Env:USER
Что сработало для меня, чтобы включитьпеременные окружения WSL в командах powershell используют оператор остановки синтаксического анализа --%
, например:
Ubuntu1804 run --% sudo usermod -aG docker $USER