2016-11-07 15 views
0

他のメイクファイルで使用されるように定義された変数を含む(メイクファイル指向の)インクルードファイルを作成しました。シェルとメイクファイル間の共通の "インクルード"ファイル

# this is myinclude/makevars file 
MY_FOLDER:=$(ROOT_FOLDER)/my/folder 
ANOTHER_FOLDER:=$(MY_FOLDER)/another/folder 
MY_LIB:=$(ANOTHER_FOLDER)/lib 

この「インクルードファイルは、」私は他のmakefileの中に含まれている場合だけで素晴らしい作品:

include myinclude/makevars 

が、私はあまりにもいくつかのシェルスクリプトに含める可能性がある場合はクールになります! 現在、私は非常に似ていますが、「シェル」志向別のファイル(myinclude/shellvars)作成しました:この私の(シェル)スクリプトの中で何も動作しますが、私は(意味的に)との重複ファイルを持っているなどのことで

明確
# this is myinclude/shellvars file 
MY_FOLDER=$ROOT_FOLDER/my/folder 
ANOTHER_FOLDER=$MY_FOLDER/another/folder 
MY_LIB=$ANOTHER_FOLDER/lib 

を同じ情報!

この2つのファイルを1つ(myinclude/makevarsとmyinclude/shellvars)に「マージ」する方法はありますか?特別な構文ですか? ご迷惑をおかけして申し訳ございません。

- kasper!

答えて

2

このお試しください:メモリにファイルを含める

eval "$(cat makevars.inc | tr -d '(:)')" 
echo "$MY_LIB" 

これは、対象のテキストをロードし、そこからすべてのコロンと括弧を消去し、その結果を実行します。

+0

それは働いた...ありがとう! – Kasper

関連する問題