HP-UX General
1825713 メンバー
3091 オンライン
109686 解決策
新規ポスト

POSIX−shellスクリプトにてヒアドキュメントの使用方法

 
negi
時折のコントリビューター

POSIX−shellスクリプトにてヒアドキュメントの使用方法

お世話になります。初めて投稿します。

shスクリプト内にてユーザのキー入力を受け付けたいと思い

以下のように記述しました。

while read line; do

echo $line

done<<.

<<入力>>

>aaa

>bbb

>ccc

>.

<<出力>>

aaa

bbb

ccc

しかし、ターミナルから直接実行するとOKですが

shスクリプトにするとエラーになります。

./aaa.sh

./aaa.sh:Syntax error at line 16 : `@@' is not matched.

→done<<.の行 →@@:文字化け

※スクリプト内の記述はターミナルから実行したものと同じ

環境:HP-UX B.11.00

文字化けして表示されるのでロケ−ルの問題か?と思いましたが

SJIS指定。ターミナルもSJIS指定。

言語環境:

#locale

LANG=ja_JP_SJIS

LC_CTYPE="ja_JP_SJIS"

LC_COLLATE="ja_JP_SJIS"

LC_MONETARY="ja_JP_SJIS"

LC_NUMERIC="ja_JP_SJIS"

LC_TIME="ja_JP_SJIS"

LC_MESSAGES="ja_JP_SJIS"

LC_ALL=

ターミナル側漢字コード

SJIS

初心者的質問のような気がするのですが。。。

分かる方いらっしゃいますか?