Emacs에서 이름에 공백이 포함된 파일을 프로그래밍 방식으로 열어야 하는 경우 어떻게 해야 합니까? 백틱 또는 다음 중 하나를 사용하여 Ruby 스크립트에서 다음 명령을 시도했습니다 popen(…)
.
emacs "foo bar"
또는
emacs foo\ bar
이름이 각각 foo
및 인 두 개의 파일을 엽니다 bar
. 하지만 이름이 인 하나를 열고 싶습니다 foo bar
.
답변1
쉘에 전달된 명령줄을 사용하여 popen을 호출하고 있기 때문에 인용에 문제가 있습니다. Ruby의 문자열 파서는 큰따옴표나 백슬래시를 사용합니다. 쉘을 우회하는 문자열 배열로 popen을 호출할 수도 있고, emacs foo\\ bar
쉘이 볼 수 있도록 Ruby가 남기기를 원하는 백슬래시를 이스케이프하도록 작성할 수도 있습니다.