2017-01-13 2 views
0
root# dscl . -change /Users/default RealName "Brian" "David" 

터미널에서이 명령을 실행하면 홈 폴더 "기본값"과 연결된 사용자의 전체 이름이 Brian에서 David로 변경됩니다."dscl.change/Users/wick RealName"이 터미널에서 작업을하지만 ScriptEditor에서 작업을 수행하는 이유는 무엇입니까?

그러나 ScriptEditor에서이 명령을 실행하려고하면 구문 오류가 발생합니다.

do shell script "dscl . -change /Users/default RealName "Brian" "David"" 

Syntax Error
나는이 문제를 해결 수있는 방법에 대한 어떤 아이디어?

답변

0

두 번째 큰 따옴표는 리터럴 셸 스크립트 인수의 끝을 나타 내기 때문에 구문을 해독합니다. 소스 텍스트 (구문 강조)에서 볼 수도 있습니다. 이 따옴표는

do shell script "dscl . -change /Users/default RealName \"Brian\" \"David\"" 
+0

예, 감사 그들에게 탈출이 필요하지만 경우 단순히

do shell script "dscl . -change /Users/default RealName Brian David" 

그래서

내가 필요하지 않은 이름 주위에 따옴표를 추측! 백 슬래시가 큰 따옴표로 문제를 해결했습니다. 명령은 이제 구문 오류없이 원하는 작업을 수행합니다. 또한 올바른 이름을 둘러싼 큰 따옴표가 필요하지 않으며 모질어도 필요하지 않습니다. –