![KSH에서 예기치 않은 "줄 바꿈"을 수정하는 방법은 무엇입니까?](https://linux55.com/image/178115/KSH%EC%97%90%EC%84%9C%20%EC%98%88%EA%B8%B0%EC%B9%98%20%EC%95%8A%EC%9D%80%20%22%EC%A4%84%20%EB%B0%94%EA%BF%88%22%EC%9D%84%20%EC%88%98%EC%A0%95%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
KSH에서 GUI를 사용하기 시작했습니다. 첫 번째 예는 다음과 같습니다.
#! /usr/dt/bin/dtksh
main()
{
XtInitialize TOPLEVEL dtHello DtHello "$@"
XmCreateMessageDialog HELLO $TOPLEVEL hello \
dialogTitle:"DtHello" \
messageString:\
"$(print "Hello\nWorld")"
XmMessageBoxGetChild HELP $HELLO\
DIALOG_HELP_BUTTON
XtUnmanageChild $HELP
XmMessageBoxGetChild CANCEL $HELLO\<\n>
DIALOG_CANCEL_BUTTON
XtUnmanageChild $CANCEL
XtAddCallback $HELLO okCallback exit
XtManageChild $HELLO
XtMainLoop
}
하지만 스크립트를 실행하려고 하면 다음 메시지가 표시됩니다.
gui.ksh: syntax error at line 15: `newline' unexpected
구문 오류는 다음 줄에 있습니다.
DIALOG_CANCEL_BUTTON
내 참고자료는 다음과 같습니다. 참고문헌 1 참고문헌 2
도움을 주셔서 미리 감사드립니다.
답변1
음..너무 쉬우니까 확인해 봐야겠네요오라일리 박사
KSH가 공백과 테이블에 민감한지 몰랐습니다. 어쨌든, 여기에 해결책이 있습니다(누군가에게 도움이 된다면).
#! /usr/dt/bin/dtksh
main()
{
XtInitialize TOPLEVEL dtHello DtHello "$@"
XmCreateMessageDialog HELLO $TOPLEVEL hello \
dialogTitle: "First Window" \
messageString:"$(print "Hello\nWorld")"
XmMessageBoxGetChild HELP $HELLO \
DIALOG_HELP_BUTTON
XtUnmanageChild $HELP
XmMessageBoxGetChild CANCEL $HELLO \
DIALOG_CANCEL_BUTTON
XtUnmanageChild $CANCEL
XtAddCallback $HELLO okCallback exit
XtManageChild $HELLO
XtMainLoop
}
감사해요.