4

その中にデータ(「100」など)を含むファイルfile.txtがあるとします。今後の処理のために、このファイルの内容を変数に読み込みたいと考えています。これを Linux と Solaris の両方で動作させたいと考えています。これどうやってするの?

4

3 に答える 3

8

この行を試してください:

VAR=$(cat file.txt)

また

VAR=$(head -1 file.txt)

編集1:

Unix コマンドの出力を使用して変数を設定する

シェル スクリプトの最も優れた点の 1 つは、Unix コマンドを使用して出力を生成し、それを使用して変数を設定するのが非常に簡単であることです。

この例では、date コマンドを実行し、その出力を変数の値として保存しています。

#!/bin/sh
#
STARTED=`date`
sleep 5
FINISHED=`date`
#
echo "Script start time: $STARTED"
echo "Script finish time: $FINISHED"

この単純なスクリプトを実行すると、次のように表示されます。

ubuntu$ /tmp/1.sh
Script start time: Wed May 7 04:56:51 CDT 2008
Script finish time: Wed May 7 04:56:56 CDT 2008

ほぼすべてのシナリオで同じアプローチを使用できます。

したがって、mvp の回答はどの UNIX シェルでも機能します。

F=`cat file.txt`

シングルクォートで`はなくバックティックで試してみてください'

于 2013-04-13T05:23:30.120 に答える
4

これはうまくいくはずです:

 VAR=`cat file.txt`

ファイルの最初の行のみを取得する場合は、次を使用します。

 VAR=`head -1 file.txt`
于 2013-04-13T05:00:54.723 に答える