Я хотел бы добавить список пакетов emacs в мой сценарий резервного копирования, поэтому мне нужно как-то извлечь список установленных пакетов - например, используя переменную package-activated-list
- из командной строки. Возможно ли это? Я имею в виду вызов emacs с каким-то параметром, поэтому вывод - это список установленных пакетов, которые я могу перенаправить в некоторый файл.Извлечение списка пакетов из emacs
0
A
ответ
1
Да, я полагаю, вы хотите что-то вроде этого:
emacs -batch -l ~/.emacs --eval='(message (mapconcat '"'"'symbol-name package-activated-list "\n"))'
См http://www.emacswiki.org/emacs/BatchMode для того, как запускать команды Emacs из командной строки.
Смежные вопросы
- 1. Извлечение URL из буфера Emacs?
- 2. Извлечение списка из Firebase
- 3. извлечение элементов из списка?
- 4. Извлечение элемента из списка
- 5. Извлечение из списка
- 6. Извлечение данных из списка
- 7. Извлечение данных из списка
- 8. извлечение из списка словаря
- 9. Извлечение элементов из списка
- 10. извлечение из списка списков
- 11. Извлечение элемента из списка
- 12. Извлечение изображений из списка
- 13. Извлечение данных из списка
- 14. Как сделать столбец «пакет» экрана списка пакетов ELPA Emacs шире?
- 15. Программно извлечение пакетов .deb
- 16. Как изменить репозиторий пакетов emacs?
- 17. добавление пакетов-репозиториев в emacs
- 18. Настройка и загрузка пакетов Emacs
- 19. Извлечение списка из списка в словаре
- 20. Извлечение упорядоченной подпоследовательности из списка
- 21. Извлечение диапазона (хвост) из списка
- 22. Извлечение выбранного элемента из списка
- 23. Извлечение символов из связанного списка
- 24. Извлечение списка полей из ReStructuredText
- 25. Извлечение матрицы из списка матриц
- 26. Извлечение уникальных значений из списка
- 27. Извлечение значения из списка Элемент
- 28. Извлечение данных из списка uid
- 29. Извлечение String [] элементы из списка
- 30. Извлечение данных из списка кортежей
Ваш Lisp выглядит так, как будто он имеет синтаксическую ошибку. Во всяком случае, вам действительно не нужно «message» или «symbol-name» что угодно - просто «--eval =» (mapcar 'print package-activated-list) «' будет казаться достаточным. Вы также хотите отказаться от стандартной ошибки, которая содержит различные сообщения о проделанной работе от Emacs. – tripleee
Да, это тоже работает. Поэтому я считаю, что наиболее удобным решением является 'emacs -batch -l ~/.emacs --eval =" (mapcar 'print package-activated-list) "2>/dev/null'. Мое предыдущее решение * выглядит так, как будто оно имеет синтаксическую ошибку из-за того, как вы избегаете цитат в bash. Но он работает правильно. –
О, мое плохое, ты прав; Мне не удалось правильно разобрать цитату. Использование 'message' имеет особый недостаток в том, что сообщения прогресса и результат будут смешанными, тогда как с' print' вы их разделяете. – tripleee