bind to string with escaped double-quotes

 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 не сможет обновить пакет.

2
16.07.2017, 00:39
1 ответ

Экранирование для строк оболочки — сложная задача. Попробуйте:

bind '"\es":"ssh -t localhost  \"echo \\\"hi\\\"; echo \\\"bye\\\"\""'

После выполнения вышеуказанной команды нажатие клавиши Esc -должно привести к следующему тексту в командной строке:

ssh -t localhost  "echo \"hi\"; echo \"bye\""

Это будет работать правильно. При выполнении он выдает результат:

hi
bye
Connection to localhost closed.

Проблема заключалась в том, что \\"интерпретируется как одиночная обратная косая черта, за которой следует активная двойная -кавычка оболочки -. Вам нужно экранировать двойную кавычку -, чтобы она была неактивной. Таким образом \\\".

2
27.01.2020, 22:09

Теги

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