Ответ 1
Соответствует ли shell-command-to-string
вашей цели?
Например:
(shell-command-to-string "/bin/echo hello")
Надеюсь, что это поможет.
Я хочу запустить команду оболочки в Emacs и записать полный вывод в переменную. Есть ли способ сделать это? Например, я хотел бы установить hello-string
в "hello"
следующим образом:
(setq hello-string (capture-stdout-of-shell-command "/bin/echo hello"))
Существует ли функция capture-stdout-of-shell-command
, и если да, то каково ее настоящее имя?
Соответствует ли shell-command-to-string
вашей цели?
Например:
(shell-command-to-string "/bin/echo hello")
Надеюсь, что это поможет.
У меня есть предложение сделать это, чтобы продлить ответ Исе Вистерия. Попробуйте использовать что-то вроде этого:
(setq my_shell_output
(substring
(shell-command-to-string "/bin/echo hello")
0 -1))
Это должно установить строку "hello"
как значение my_shell_output
, но чисто. Использование (substring)
исключает конечный \n
, который имеет тенденцию возникать, когда emacs вызывает команду оболочки. Это беспокоит меня в emacs, работающем в Windows, и, вероятно, происходит и на других платформах.