Ошибка «E: Недопустимое обновление операции» при запуске сценариев оболочки в WSL - PullRequest
1 голос
/ 20 марта 2019

У меня есть сценарий оболочки с именем setup_wsl.sh, который содержит:

#!/bin/bash

echo "hai"
sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"  
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Когда я запускаю сценарий как ./setup_wsl.sh в WSL (установленный дистрибутив - Ubuntu 18.04), ошибки возникают как:

hai
E: Invalid operation update
E: Unable to locate package
./setup_wsl.sh: 4: ./setup_wsl.sh: apt-transport-https: not found
./setup_wsl.sh: 5: ./setup_wsl.sh: ca-certificates: not found
curl: (3) Illegal characters found in URL
./setup_wsl.sh: 7: ./setup_wsl.sh: gnupg-agent: not found
: not found ./setup_wsl.sh: software-properties-common
: not found ./setup_wsl.sh:

Первая команда скрипта работает нормально, поскольку выдает вывод "hai".

Может кто-нибудь помочь мне выяснить, почему произошли эти ошибки?

1 Ответ

0 голосов
/ 31 мая 2019

Это из-за возврата каретки в окнах. Переключитесь на каретку LF с помощью текстового редактора и сохраните новый, чтобы запустить скрипт или sed -i -e 's / \ r $ //' setup_wsl.sh

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...