2016-05-21 5 views
0

私は、ユーザーに代わって.bash_profileに行を追加するプログラムを作成しています。しかし、私のプログラムは、同じユーザによって何度もマシン上に再挿入される可能性があります。 .bash_profileファイルに任意の数の重複行を追加するのではなく、この行をファイルに一度だけ追加する方法を教えてください。 最も簡単な方法は、.bash_profileファイルを読み込んで各行を見て、その行がまだ存在しない場合は新しい行だけを追加することです。より良い方法はありますか?.bash_profileに重複する行を追加しないようにする

+1

追加される行は何ですか?それはその点で違いを生むかもしれません。 –

+0

行は次のようになります。export NODE_PATH = $(npm root -g):$ NODE_PATH –

+0

この行が重複している場合は大したことではありませんが、二重引用符を避けることをお勧めします。 –

答えて

1

最も簡単な方法は、中の.bash_profileファイル を読み、各ラインを見て、唯一のラインがまだ存在してい ない場合は、より良い方法はありますか?新しい行を追加することですか

良い方法はありません。変数NODE_PATHが既に設定されているかどうかを確認するには、ユーザーが再度ログインするまで機能しないため、その前に重複する行が追加されることはありません。

line='export NODE_PATH=$(npm root -g):$NODE_PATH' 
grep "$line" .bash_profile||echo $line >>.bash_profile 
関連する問題