rsync
(또는 scp
)을 여러 번 호출하는 Emacs Lisp 함수에서 쉘 명령을 실행하려는 경우 어떤 쉘 명령 변형을 사용해야합니까? 나는 현재 shell-command
을 사용하고 있는데, 프로세스가 끝날 때까지 Emacs를 잠그고 --verbose
에서 rsync
으로 볼 수있는 출력이 출력되지 않는다. 명령 행의 끝에 을 사용하여 비동기로 만들면 진행 상황을 인쇄 할 수 있습니다. 그러나 Emacs를 완전히 잠그지는 않지만, minibuffer는 프로세스를 죽이려고하는지 반복적으로 묻습니다. 그 동안에는 절뚝 거리고있다. start-process-shell-command
은 첫 번째 파일/디렉토리가 전송 된 후에 만 기능을 중지하는 것으로 보입니다. 내 기능을 통해 복수 rsync
호출이있을 때 나머지는 무시합니다. 이것들 중 어느 것도 이상적인 것처럼 보이지 않습니다.emacs lisp에서 어떤 쉘 명령을 사용합니까?
답변
저는 시작 프로세스를 가장 많이 사용했습니다.
(start-process "process-name"
(get-buffer-create "*rsync-buffer*")
"/path/to/rsync"
arg1
...
argn)
이렇게하면 모든 출력이 단일 버퍼로 전송됩니다.
이것은 매우 간단합니다 - 감사합니다. – hatmatrix
한 가지 해결책은 실제 shell buffer에서 명령을 실행하는 것일 수 있습니다. 그럼 당신은 그 중 하나를 실행하는 선택할 수가 :
M-x shell
M-x eshell
M-x term
는 경우가 생각처럼,이 같은 그것을 코딩 할 수 있습니다 :
(defun my-rsync-routine()
"run some rsync processes"
(with-temp-buffer
(shell (current-buffer))
(process-send-string nil "rsync ...")
(process-send-string nil "rsync ...")
(process-send-string nil "rsync ...")))
더 그 사용에 대한 'process-send-string
에 읽기. 또한 프로세스에서 output에 대한 일부 오류 검사를 원할 수 있습니다.
안녕하세요, Trey, 항상 감사합니다. 이번에는 Jonathan의 솔루션을 선택해야했지만이 목적을 위해 직접적이고 잘 맞았습니다 (process-send-string은 get-buffer-create를 사용하여 생성되고 명시 적으로 참조 된 버퍼에서만 작동하는 것처럼 보였습니다. 임시 버퍼 ...)하지만 나는 필터링 기능을 읽고 ... grok에 많이있다 그리고 나는 그것의 끝에 사용을 찾을 확신합니다. 다시 감사합니다. – hatmatrix
- 1. emacs lisp에서 strstr()?
- 2. Lisp에서 emacs 설정을 변경하는 방법
- 3. Emacs Lisp에서 현재 디렉토리 얻기
- 4. Emacs Lisp에서 퀴즈를 생성 하시겠습니까?
- 5. Emacs 용 Aquamacs 쉘
- 6. 다른 emacs 명령을 호출하는 emacs 명령을 정의하십시오 (대화식 항목 유지)
- 7. Emacs : gedit에서 명령을 입력하십시오.
- 8. Emacs Lisp에서 가변 폭 텍스트 줄 바꾸기
- 9. Emacs Lisp에서 선택된 텍스트를 얻는 방법?
- 10. Emacs Lisp에서 현재 영역의 내용에 어떻게 접근합니까?
- 11. Emacs Lisp에서 문자열이 비어 있는지 확인하는 방법?
- 12. Emacs Lisp에서 apply를 올바르게 사용 했습니까?
- 13. emacs lisp에서 기호와 변수 이름의 차이점
- 14. Emacs Lisp에서 foldr, foldl과 동일한 것은 무엇입니까?
- 15. Emacs Lisp에서 문자열을 디코드하는 방법은 무엇입니까?
- 16. Emacs Lisp에서 임시 함수를 만드는 법
- 17. Emacs-Dired의 여러 비동기 쉘 명령?
- 18. CLISP 프로그래머는 어떤 IDE를 사용합니까?
- 19. Emacs : 버퍼마다 컴파일 명령을 설정하십시오.
- 20. Emacs 셸 명령을 찾을 수 없습니다.
- 21. emacs lisp 쉘 프로세스 인수에 문제가 발생했습니다.
- 22. mysql 변수에 "mysql source"명령을 어떻게 사용합니까?
- 23. jar에서 쉘 명령을 실행 하시겠습니까?
- 24. 커스텀 입력으로 쉘 명령을 실행하십시오.
- 25. 공백이있는 변수로 쉘 명령을 실행하십시오.
- 26. 어떤 PHP 쉘?
- 27. Emacs Lisp에서 모든 구두점을 일치 시키지만 " '"를 제외한 우아한 정규식?
- 28. Emacs Lisp에서 함수를 매개 변수로 전달하는 방법은 무엇입니까?
- 29. emacs lisp에서 SQL 쿼리를 어떻게 수행 할 수 있습니까?
- 30. 어떻게하면 emacs lisp에서 자동 완성 입력 필드를 가질 수 있습니까?
http://www.gnu.org/software/emacs/manual/html_node/elisp/Asynchronous-Processes.html을 읽으셨습니까? –