KSHで予期しない「改行」を修正する方法は?

KSHで予期しない「改行」を修正する方法は?

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
}

ありがとうございます。

おすすめ記事