Mac OS X-공백이있는 경로 이름을 bashscript에 인수로 전달한 다음 터미널 열기 명령을 실행합니다.

nmadhok

Mac OS X Mavericks에서 bash 쉘 사용 문제

test.sh하나의 명령 줄 인수를 허용 하는 bash 스크립트를 만들었습니다 .

$ cat test.sh
#!/bin/bash
open -a Terminal $1

이 스크립트를 다음과 같은 방법으로 실행할 때 :-

$ ./test.sh /Users/myusername/Desktop/folderwithoutspaces/

완벽하게 실행되고 지정된 폴더에서 새 터미널 창을 시작합니다.

하지만이 스크립트를 다음과 같이 실행하면 :-

$ ./test.sh /Users/myusername/Desktop/folder\ withspaces/

새 터미널 창을 열지 못하고 다음 오류 메시지가 표시됩니다.

The files /Users/myusername/Desktop/folder and /Users/myusername/Desktop/withspaces do not exist.

이 모든 가능한 방법을 시도했지만 전혀 성공하지 못했습니다.

$ ./test.sh "/Users/myusername/Desktop/folder\ withspaces/"
$ ./test.sh "/Users/myusername/Desktop/folder withspaces/"
$ ./test.sh '/Users/myusername/Desktop/folder\ withspaces/'
$ ./test.sh '/Users/myusername/Desktop/folder withspaces/'
$ ./test.sh /Users/myusername/Desktop/folder\ withspaces/
devnull

따옴표와 함께 변수를 사용하면 IFS기본적으로 공백을 포함하는 기준으로 분할 됩니다. 해결책은 변수를 인용하는 것입니다. 말 대신 :

open -a Terminal $1

말하다:

open -a Terminal "$1"

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관