В дополнение к путанице, связанной с цитированием подстановки команд, сообщение об ошибке указывает, что у вас действительно есть 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 [[
)
Вам необходимо включить репозиторий 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