Linuxコマンド・シェルスクリプト

複数行の文字列を変数に代入する

複数行の文字列を変数に格納したい場合は次のように書くことができる。

str=`cat  <<- 'EOF'
1行目
2行目
EOF
`

※「EOF」は任意の文字列を使用可

各行の先頭のインデント(タブ)を無視する

冒頭の例のように、「<<」の直後に「-」を入れる(「<<-」とする)ことで、行頭のインデントを無視できる。

関数内でヒアドキュメントを代入したときなどに便利。

ヒアドキュメントの末尾にEOFが入ってしまうときは

ここで、最初の’EOF’の手前のスペースを忘れると、末尾に「EOF」が表示されてしまう。

注意箇所 抜粋

str=`cat  <<- 'EOF'
※'EOF'手前のスペースを忘れないこと
プロフィール

興味のあること、つまづいたこと、考えたことなどを書いています。

カテゴリー

コメント

タイトルとURLをコピーしました