echo $PATH | perl -pe 's/:/\n/g' | xargs ls -1 | sort
Список всех (для меня 1103) установленных команд на вашем пути. Обратите внимание, что в одном приложении может быть много команд, и некоторые команды по умолчанию отсутствуют на вашем пути.
apt list --installed
перечислит установленные (556 для меня) пакеты. Обратите внимание, что один пакет может иметь много приложений или может иметь только библиотеки и ни одного приложения.
apt list
Список всех (52 254 для меня) устанавливаемых пакетов из репозиториев по умолчанию.
cat /etc/apt/sources.list && cat /etc/apt/sources.list.d/*.list
Список всех (для меня 16) установленных репозиториев.
curl 'https://launchpad.net/ubuntu/+ppas?name_filter=&start=0' | grep -A 1 "<td><a"
Будет перечислять (выгруженные) все (24 538) Персональные архивы пакетов (репозитории), большинство из которых, вероятно, не будут работать на архитектуре c2. Обратите внимание, что программное обеспечение также можно получить в другом месте, но если вы установите пакет из внешнего источника, который не предоставляет репозиторий, тогда apt не сможет обновить пакет.
Экранирование для строк оболочки — сложная задача. Попробуйте:
bind '"\es":"ssh -t localhost \"echo \\\"hi\\\"; echo \\\"bye\\\"\""'
После выполнения вышеуказанной команды нажатие клавиши Esc -должно привести к следующему тексту в командной строке:
ssh -t localhost "echo \"hi\"; echo \"bye\""
Это будет работать правильно. При выполнении он выдает результат:
hi
bye
Connection to localhost closed.
Проблема заключалась в том, что \\"
интерпретируется как одиночная обратная косая черта, за которой следует активная двойная -кавычка оболочки -. Вам нужно экранировать двойную кавычку -, чтобы она была неактивной. Таким образом \\\"
.