Goの変数定義の書き方はいくつかがあります。 Goの変数定義は柔軟性があります。 単独変数の定義 初期値なし変数 定義:var 変数名 変数型 例:
![Go言語の変数定義 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/3d36a10b65b9eb11473d1971d2a10185dc502898/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9R28lRTglQTglODAlRTglQUElOUUlRTMlODElQUUlRTUlQTQlODklRTYlOTUlQjAlRTUlQUUlOUElRTclQkUlQTkmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTM2MDIwOGU4MzQ3NjZlMThhYTMxZWQ4ODE0M2E2Yjdh%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBjaGVuZ2xpbiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YTM3NTViMjUzYjlhYzQ5Nzc0YWVjNzdmZWE3YmI0ZDQ%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D3a1b36bde3b71782f8dfc06f29e472e5)
定義の仕方 /plugins/constants.js 定数を定義したpluginを用意し、injectを使用してプロジェクト内で共通化します。 const COLOR_PRIMARY = '#2196F3' const SITE_DOMAIN = 'kokota_example.com' const IPA = { fe: '基本情報技術者試験', ap: '応用情報技術者試験', sa: 'システムアーキテクト試験', nw: 'ネットワークスペシャリスト試験', db: 'データベーススペシャリスト試験', pm: 'プロジェクトマネージャ試験' } export default (context, inject) => { inject('COLOR_PRIMARY', COLOR_PRIMARY) inject('SITE_DOMAIN', SITE_DOMAIN) inject
バッククォート(`)で文字列中のコマンドを実行することができます。 これを使って変数にコマンドの実行結果を代入します。 [変数名]=`コマンド` 例 pwdコマンドの結果を変数のDIRに代入 DIR=`pwd` コマンドのネスト バッククォートをバックスラッシュでエスケープすることで、コマンドのネストも可能になります。 例 pwdコマンドの結果に対して"ls -ld"を実行 STR=`ls -ld \`pwd\`` 最初に実行されるコマンドは、以下の赤色の個所のpwdコマンドになります。 その後、pwdコマンドの結果に対してlsコマンドが実行されます。 STR=`ls -ld \`pwd\`` これは以下と同じになります。 DIR=`pwd` STR=`ls -ld $DIR` コマンドの実行結果を配列に代入 コマンドの実行結果を配列にする場合は、バッククォートで囲んだコマンドを"("と"
よくある課題 Ansibleで条件分岐させるにはplayの中でwhen句を使用する。 1つのtrue/falseの条件があってそれぞれ実行させたいものが違う場合はplayを2つ書くことになる。 しかし正直、普通のプログラム言語ならif-elseで書けるところをplayを2つ並べないとならないというのはいささか美しさに欠ける。実行させたいものが全く違うならまだ良いが、ほとんど一緒なら尚更だ。そのほとんど一緒な部分を修正したくなったら2箇所直さなければならない。 それでも2つならとは思わなくないが、さてtrue/falseの条件分岐が3つあったとしよう。playを8つ書けって? それは勘弁して欲しい。 そんな悩みをある程度解決するのがset_factモジュールである。 set_factの使い方(基本編) set_factは変数に値をセットするモジュールである。 この値はスカラーでもシークエンス
「マニュアルやシェルスクリプトを使ったサーバ管理に課題を持つ方」を対象に、Ansibleの基本的な使い方を紹介する本連載「Ansibleで始めるサーバ作業自動化入門」。前回の「Ansibleを効果的に使うのに欠かせないPlaybookの基本的な書き方まとめ」は変数の利用や条件分岐といったAnsibleのプレイブック作成に欠かせない基本的な機能を説明しました。 今回はより良いプレイブックを作成するため、プレイブックを再利用しやすくするための機能と、「ロール」と呼ばれる推奨ディレクトリ構成を紹介します。 また、ロールを知ることで、全世界のAnsibleユーザーがプレイブックを共有する「Ansible Galaxy」というコミュニティを利用できるようになります。Ansible Galaxyから目的の処理を行うためのプレイブックを見つけられれば、自分でプレイブックを作成する手間が少なくなります。
- hosts: localhost tasks: - name: add register with execute debug module debug: msg: add debug module result into debugged_register variable register: debugged_register - name: show register variable values set by execute debug module debug: msg: "{{ debugged_register }}" - name: skip execute task but register got variable debug: msg: add register of debug module result! register: not_executed_mod
ansibleでは、コマンド実行結果をRegistered variableに突っ込んで便利に使えます Registered Variablesとは? ターゲットホストで実行したコマンドの結果を任意の変数に入れることができます。 使い方を見ていきます。ansibleのバージョンは 1.9.4 です。 サンプルとして、簡単なplaybookを作成しました。 --- - hosts: 127.0.0.1 connection: local tasks: - name: exec whoami shell: whoami register: result - name: debug result var debug: var=result whoamiコマンドの実行結果をregisterキーワードで設定した result 変数に受け、次のdebugタスクでハンドリングします。 変数の中身はどうな
接続するユーザー名とか、単一ホストであれば IP アドレスとか、あるよね ? こういうファイルを作っておいて読み込ませたい !!
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く