私はEC2スポットインスタンスでRを実行しています。スクリプトを実行するとインスタンスを終了してスポットリクエストをキャンセルするにはRが必要です。その私が/.bashrc
に、環境変数に「リクエストID」を設定していると私の計画は、単にスクリプト一度Rに次のコードを呼び出すようにしたためにRに環境変数を読み込ませるにはどうしたらいいですか?
は私が午前問題がある
system("ec2-cancel-spot-instance-requests $SIR")
準備ができていますRが外部のRからenv
と入力したときに見たのと同じ環境変数を「見る」わけではないので、コマンドは機能しません。
私はチェックしていますが、私は自分の環境変数を/etc/environment
に設定していれば、それらの変数を見ることができますが、ここでは別の問題です。これらの変数は、(インスタンスIDと要求IDは、スポットインスタンスが作成されるたびに異なる)、動的であるため、私はの形でそれらを作成するためのスクリプトを実行しています:
export SIR=`cat /etc/ec2_instance_spot_id.txt`
ID
したがって、どのように「動的」環境変数を/etc/environment
に挿入できますか?あるいは、環境変数をRに読み込ませるには、どうすればいいですか?/.bashrc
?
正しい方向のヒントがあれば幸いです!
と、この変数にアクセスすることができますが
Rを再起動した後、書き込みRの変数を設定するには〜/ .profileにはSys.getenv()からアクセスできましたが、〜/ .bashrcではアクセスできませんでした。 'source〜/ .profile'を実行してから、新しい変数を追加した後に端末から' R'を実行しなければなりませんでした。 – wordsforthewise