Обновление nodejs в Ubuntu :Как исправить ошибку сломанного канала?

В дополнение к путанице, связанной с цитированием подстановки команд, сообщение об ошибке указывает, что у вас действительно есть while ["$count" -ne 0]без необходимого пробела вокруг квадратных скобок. Имейте в виду, что часть после «пока» на самом деле является командой , и цикл заканчивается, когда команда выходит с не -нулевым статусом (ref https://www.gnu.org/software/bash/manual/bashref.html#Looping-Constructs).

Из-за отсутствия пробела bash видит

while ["/usr/bin/ps -aef|/usr/bin/egrep 'catalina|java|wrapper-linux-x86-64'|/usr/bin/grep -v 'catalina|java|wrapper-linux-x86-64'|wc -l" -ne 0]

и пытается выполнить команду ["/usr/bin/ps -aef|...|wc -l", которая явно не найдена

Важно помнить, что [на самом деле является командой , и поэтому пробел после нее необходим для отделения имени команды от ее первого аргумента. (по той же причине, по которой вы пишете ls -l, а неls-l). Также команда [требует, чтобы ]был ее последним аргументом, поэтому ]также требует разделения пробелами.

В командной строке bash введите help [и help test(, а такжеhelp [[)

2
05.01.2021, 16:09
1 ответ

Вам необходимо включить репозиторий universe, который предоставляет недостающие зависимостиlibnode72 (= 12.18.2~dfsg-1ubuntu2)иnodejs-doc (12.18.2~dfsg-1ubuntu2)в Ubuntu 20.10:

sudo add-apt-repository universe
sudo apt install libnode72 nodejs-doc

dpkg -i --force-overwriteдолжен указывать на файл .deb:

sudo dpkg -i --force-overwrite  /var/cache/apt/archives/nodejs_14.15.4-deb-1nodesource1_amd64.deb
7
18.03.2021, 22:38

Теги

Похожие вопросы