• ベストアンサー

標準入力からシェル変数及び環境変数に値を設定する(bash)

標準入力からシェル変数及び環境変数に値を設定する方法で、cshの場合は「set 変数=$<」ということは確認しているのですが、bashの場合はどのようにすればよろしいのでしょうか?ご教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

普通はreadを使います。readの完了値でEOFも判断できるのがcshの$<に比べた時の利点です。例えば、 while read a do echo "$a" done < file で、cat file と同じことが出来ます。 aを環境変数にしたければexport aするのは普通のシェル変数と同じ。 あと、cshでのset 変数=$< ですが入力行に空白があると意図しない結果になるので、"$<" とした方がいいです。 sh/bash の read だと、read a b c のように空白(正確には$IFSの値のどれか)で区切られた複数のデータを詠むことも出来ます。詳しくは、man bash に書いてあります。

maiko100
質問者

お礼

簡単な内容にかかわらず、ご返答いただき有難うございました。早速動作確認しました。

その他の回答 (1)

  • galoon
  • ベストアンサー率28% (38/133)
回答No.1

read コマンドが割と有名だと思います。 ex) ENV1という変数に入力データを設定したい場合 $ read ENV1 abcde $ echo $ENV1 abcde

maiko100
質問者

お礼

単純な質問にもかかわらず、ご返答いただき有難うございました。早速動作確認しました。

関連するQ&A