1. ホーム
  2. shell

[解決済み] シェルでファイルを変数に読み込むには?

2022-03-16 22:08:21

質問

ファイルを読み込んで変数に保存したいのですが、ファイルをプリントアウトするだけでなく、変数を保持する必要があります。 どうすればいいのでしょうか?このスクリプトを書きましたが、私が必要とするものではありません。

#!/bin/sh
while read LINE  
do  
  echo $LINE  
done <$1  
echo 11111-----------  
echo $LINE  

私のスクリプトでは、ファイル名をパラメータとして与えることができるので、例えば、ファイルに "aaaa" が含まれていれば、次のように出力されます。

aaaa
11111-----

しかし、これでは画面にファイルを出力しているだけなので、変数に保存したいのです! 簡単にできる方法はないでしょうか?

どのように解決するのですか?

クロスプラットフォームでは、最小公倍数的に sh を使用していますね。

#!/bin/sh
value=`cat config.txt`
echo "$value"

bash または zsh を呼び出すことなく、ファイル全体を変数に読み込むことができます。 cat :

#!/bin/bash
value=$(<config.txt)
echo "$value"

起動時 catbash または zsh を使用してファイルをスラスラ読めるようにすることは、次のように見なされます。 猫の無駄な使い方 .

なお、コマンド置換は、改行を維持するために引用する必要はない。

参照してください。 Bash Hacker's Wiki - コマンドの置換 - 特殊性 .