[解決済み] AnsibleでLinuxの環境変数を設定する方法
質問
こんにちは、Ansibleで環境変数を設定する方法を探しています。
このような単純なシェルコマンドのようなものです。
EXPORT LC_ALL=C
シェルコマンドで試しましたが、エラーになりました。 環境モジュールを使ってみましたが、何も起こりませんでした。
何が足りないのでしょうか?
どのように解決するのですか?
複数の方法がありますが、ご質問の内容からは、何が必要なのかがよくわかりません。
1. タスクごとに定義される環境変数が必要な場合、これを実行します。
- hosts: dev tasks: - name: Echo my_env_var shell: "echo $MY_ENV_VARIABLE" environment: MY_ENV_VARIABLE: whatever_value - name: Echo my_env_var again shell: "echo $MY_ENV_VARIABLE"
注意点
MY_ENV_VARIABLE
は最初のタスクにのみ有効であることに注意してください。
environment
はそれをシステムに恒久的に設定するものではありません。
TASK: [Echo my_env_var] *******************************************************
changed: [192.168.111.222] => {"changed": true, "cmd": "echo $MY_ENV_VARIABLE", ... "stdout": "whatever_value"}
TASK: [Echo my_env_var again] *************************************************
changed: [192.168.111.222] => {"changed": true, "cmd": "echo $MY_ENV_VARIABLE", ... "stdout": ""}
うまくいけば、すぐに
environment
を使うことができるようになります。
プレイレベル
にも適用できるようになります。
現在、AnsibleのGitHubでこの機能のプルリクエストが公開されています。
https://github.com/ansible/ansible/pull/8651
UPDATE:2015年1月2日現在、統合されました。
2. 恒久的な環境変数が欲しい場合 + システム全体 / 特定のユーザのみ
Linuxディストリビューション/シェルでどのようにそれを行うかを調べる必要があり、そのための複数の場所があります。たとえば、Ubuntuでは、たとえば、ファイルの中でそれを定義します。
-
~/.profile
-
/etc/environment
-
/etc/profile.d
ディレクトリ - ...
Ubuntuのドキュメントがここにあります。 https://help.ubuntu.com/community/EnvironmentVariables
結局のところ、例えばUbuntuで環境変数を設定するには Ubuntuでは
lineinfile
モジュールを使って、特定のファイルに必要な行を追加します。どこに追加すれば恒久的なものになるかは、OSのドキュメントを参照してください。
関連
-
Linuxのデスクトップの背景を画像で引き伸ばし表示にする方法とは?
-
LinuxでJenkinsプラグインのインストールが遅い場合の解決策
-
linux(ubuntu 18.04)でのアイデア運用データベース障害問題について
-
[解決済み] リモートシステムでAnsibleタスクを使用してファイルを移動/リネームする方法
-
[解決済み] Linuxでデータファイルから最初の列(実際には行名)を削除する方法は?
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] Linux上で動作するC++コードのプロファイリングを行うにはどうすればよいですか?
-
[解決済み] エクスポートされた環境変数を削除する方法を教えてください。
-
[解決済み] find .コマンドでディレクトリを除外する方法
-
[解決済み] LinuxのシェルスクリプトでYes/No/Cancelの入力を促すにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ゼロからLinuxのisoイメージを作る方法(グラフィックチュートリアル)
-
Linuxでファイルパーミッションを与えるには?Linuxでファイルに実行可能なパーミッションを追加するためのヒント
-
deepinシステムからログアウトする方法は?deepinシステムからログアウトし、ユーザーを切り替える方法
-
Kali Linuxのデスクトップの外観スタイルを変更するには? KALIの外観の最適化のヒント
-
Linux Mint システムの背景画像を変更する方法は? Linuxでデスクトップの背景を変更するためのヒント
-
Linux Mintで入力メソッドを削除する方法は?Linux Mintで冗長な入力メソッドを削除するためのヒント
-
deepin20のデスクトップアイコンのスタイルを変更する方法は?deepinのアイコンテーマを変更するためのヒント
-
Centos7 dns service named installation, encountered ** server can't find xxx.com: NXDOMAIN問題
-
[解決済み] 標準エラー出力を /dev/null にリダイレクトする。
-
[解決済み] ディレクトリへのシンボリックリンクを削除する