かべぎわブログ

ブログです

Ansibleのファクト変数を確認する

Ansibleのファクト変数を見てみたいと思います。

そもそもファクト変数とは?

ターゲットノードのメタデータが格納されている変数のことです。
IPアドレスからCPUやディスクの情報などを見ることができます。

特に意識しなくてもデフォルトでansible-playbookを実行したときにメタデータを取得してくれています。

実際に見てみる

以下のコマンドでファクト変数を取得することができます。

$ ansible -i ./ansible_hosts test_server -m setup

(ansible_hostsはインベントリファイルで、test_serverはそのグループです)

実行結果

以下のようにいろいろな情報が取得できます。
本当にいろいろ取得できてめちゃめちゃ記事が長くなるので省略。

192.140.1.62 | SUCCESS => {
    "ansible_facts": {
        "ansible_all_ipv4_addresses": [
            "192.140.1.62"
        ], 
        "ansible_all_ipv6_addresses": [
            "fe80::49c:a8ff:fe3f:24ae"
        ], 
        "ansible_apparmor": {
            "status": "disabled"
        }, 
        "ansible_architecture": "x86_64", 
        "ansible_bios_date": "08/24/2006", 
        "ansible_bios_version": "4.2.amazon", 
        "ansible_cmdline": {
            "BOOT_IMAGE": "/boot/vmlinuz-4.9.76-38.79.amzn2.x86_64", 
            "biosdevname": "0", 
            "console": "ttyS0,115200n8", 
            "net.ifnames": "0", 
            "nvme_core.io_timeout": "4294967295", 
            "ro": true, 
            "root": "UUID=a065cb27-9117-45b3-afc3-53eaff6cd0a1"
        }, 
        "ansible_date_time": {
            "date": "2018-03-21", 
            "day": "21", 
            "epoch": "1521628532", 
            "hour": "10", 

~~~~~~省略~~~~~~

活用法を考えてみる

活用法を考えてみます。

以下のようなplaybookをつくってCPUがx86の64bitだったときのみ⌘を実行するようにしてみる。

実行結果

x86_64だよ!!!というメッセージが出力されていることがわかります。

$ ansible-playbook -i ansible_hosts fact_x86.yml

PLAY [localhost] ********************************************************************

TASK [Gathering Facts] ********************************************************************
ok: [localhost]

TASK [check architecture x86_64] ********************************************************************
ok: [localhost] => {
    "msg": "x86_64だよ!!!"
}

PLAY RECAP ********************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0 

おわりに

ファクト変数をみてみました。
たぶんもっといいつかいかたがあると思いますけれど思いつかぬ。

Ansible実践ガイド 第2版 (impress top gear)

Ansible実践ガイド 第2版 (impress top gear)

Pythonで配列の要素を入れ替える

Pythonで配列の要素を入れ替える方法についてご紹介します。

こんなかんじ

実行するとこんなかんじ

$ ./array_element_change.py 
['A', 'B', 'C']
['B', 'A', 'C']

['A', 'B', 'C']
['C', 'A', 'B']

まとめ

array[0],array[1] = array[1],array[0]とするだけで配列内の要素を入れ替えることができます。
一度tempなどのてきとうな変数に退避する必要がなくて便利!

Pythonスタートブック [増補改訂版]

Pythonスタートブック [増補改訂版]

Pythonで引数を昇順でバブルソートする

趣味と実益を兼ねてPythonでバブルソートするスクリプトを書きました。

スクリプト

こんなかんじ。

#実行結果
こんなかんじで利用できます。

$ ./bubble_sort.py 2 3 1 4 5

['1', '2', '3', '4', '5']

おわり

おわり

Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ

Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ

Linux構築時にいれておくと便利なhistoryの設定

概要

Linux構築時にいれておくとのちのちすごく便利になるhistoryの設定をご紹介します!

ご紹介するやつ

タイムスタンプをつける

コマンドを実行した時間がhistoryでわかるようになります!

$ export HISTTIMEFORMAT='%F %T '

こんなかんじになる
'%F %T 'は最後にスペースいれるのを忘れないように(いれないとコマンドとくっついてみにくくなる)

2018-03-20 23:55:59 export HISTTIMEFORMAT='%F %T '
2018-03-20 23:56:26 history

コマンド実行時に出力される行数を設定する

historyコマンドを実行したときに出力される行数を設定することができます。
コマンド実行したときにターミナルが占領されるのが嫌だ、とか逆にじぶんはコマンドで全部みたいんじゃーといったときに設定します。

$ export HISTSIZE=1000

.bash_historyに記録する行数を設定する

.bash_historyファイルに設定したい行数を設定することができます。
history コマンド実行時に大量のログが出てくるのはちょっといやだけど履歴はいっぱいとっておきたいときに一個前のHISTSIZEとあわせて利用します。

$ export HISTFILESIZE=10000

記録しないコマンドを設定する

historyに記録したくないコマンドを設定することができます。
たとえばls とかpwdとかhistoryとか残しといても意味ないよなーみたいなものを設定します。

$ export HISTIGNORE='history:pwd:ls:ls *:ll'

:区切りですきなコマンドを記録しない対象に設定することができます。

リアルタイムに.bash_historyを更新する

以下を設定することでリアルタイムにhistoryが更新されるようになります。

$ export PROMPT_COMMAND='history -a; history -r'

おわりに

history関連をいろいろ設定してみました。
上記コマンドは.bash_profileに書いておくといろいろ捗ると思います。

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識

PythonでImportError: bad magic number が出たときの対処法

事象

コマンドライン上でPythonを実行したところ、以下のようなエラーがでました。
その対処法です!

ImportError: bad magic number in 'pathlib': b'\x03\xf3\r\n'

対処法

古いバージョンの.pycファイルがそのまま残ってしまっていたみたいなので削除。

find ~ -name '*.pyc' -delete
find /usr/local/ -name '*.pyc' -delete

これでエラーがでなくなった。

原因

どうやらこのエラーの前にbrew install python3を実行してPython3をインストールしていたのが原因の様子。

まとめ

きをつけませう

みんなのPython 第4版

みんなのPython 第4版

pathlibで絶対パスを取得してみる

Python3.6で使いやすくなったと言われているpathlibをつかって絶対パスを取得してみたいと思います。

スクリプト

実行結果

このスクリプトを実際に実行してみるとこんなかんじです。
そのスクリプトが置かれている絶対パスと、スクリプト名を含む絶対パスが出力されていることがわかります。

$ ./pathlib_test.py

/Users/kabegiwa/blog_python
/Users/kabegiwa/blog_python/pathlib_test.py

ちょっとした解説

pathlib.Path(__file__)で自身のスクリプトのパスのオブジェクトを作成し、resolveで絶対パスに変換しています。

ちなみに__file__で自身のファイル名を取得することができます。

おわりに

os.pathより便利だという話もありけり

独学プログラマー Python言語の基本から仕事のやり方まで

独学プログラマー Python言語の基本から仕事のやり方まで

  • 作者: コーリー・アルソフ,清水川貴之監訳,清水川貴之,新木雅也
  • 出版社/メーカー: 日経BP社
  • 発売日: 2018/02/24
  • メディア: 単行本
  • この商品を含むブログを見る

etckeeperをつかって/etcを管理してみる

etckeeperという/etc配下のファイルを管理するツールを使ってみたいと思います。

etckeeperとは?

こんなかんじのツールです。

  • /etc配下を自動で管理してくれる
  • Gitで管理できる
  • yumコマンドが実行されると自動でコミットしてくれる
  • 日付が変わると(cron.daily)自動でコミットしてくれる

etckeeperのインストール

yumでインストールします。
epelリポジトリでないとインストールできないかもしれないです。

$ sudo yum install etckeeper

Gitリポジトリの作成

etckeeperを利用するためにまずGitリポジトリを作成します。
以下コマンドを実行することで/etc配下にGitリポジトリが作成されます。

$ sudo etckeeper init

initial commitする

Gitリポジトリの作成が完了したら最初に空コミットします。

$ sudo etckeeper commit "initial commit"

こうすることでetckeeperが自動で動いてくれるようになります。

実際に動いているところを見てみる

実際にetckeeperが動いているところを見てみたいと思います。

yum installを実行してみる

yum installでてきとーになにかをインストールしてみたいと思います。

$ sudo yum install httpd

Commitされたか確認する

Commitされたかどうか確認してみます。
以下のコマンドでログを見ることができます。

$ sudo etckeeper vcs log

commit 3f5a1ffa6cafc93b5fe980c23d561a48cbd9d531 (HEAD -> master)
Author: takakabe <kabegiwa@example-mail.com>
Date:   Sat Mar 17 14:39:53 2018 +0000

    committing changes in /etc after yum run
    
    Package changes:
    +0:apr-1.4.8-3.amzn2.1.x86_64
    +0:apr-util-1.5.2-6.amzn2.x86_64
    +0:httpd-2.4.6-67.amzn2.6.1.x86_64
    +0:httpd-tools-2.4.6-67.amzn2.6.1.x86_64
    +0:mailcap-2.1.41-2.amzn2.noarch

commit b32fd5894057c4363d8a25e0c67e8a673b3251a5
Author: takakabe <kabegiwa@example-mail.com>
Date:   Sat Mar 17 14:39:52 2018 +0000

    saving uncommitted changes in /etc prior to yum run

commit fc9a16fc8ad7404e6a28b21cf3d438882507e674
Author: takakabe <kabegiwa@example-mail.com>
Date:   Sat Mar 17 14:25:27 2018 +0000

    initial commit

無事Commitされていました!

おわりに

etckeeperをつかえば設定間違って大惨事。バックアップなぞ存在しない。
みたいなことはなくなりそうです。

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識

Amazon Linux2 に自作サービスを追加する

今回はAmazonLinux2のSystemdに自作サービスを追加してみようと思います。

手順

AmazonLinux2に自作のサービスを追加するための手順です。

サービスとして追加するスクリプトの準備

今回は以下のような約1秒ごとにdateを出力するようなスクリプト()(wawawa.sh)をサービスとして追加してみようと思います。

#!/bin/bash
while true
do
    date >> /home/ec2-user/result.log
    sleep 1
done

ユニットファイルを作成する

/etc/systemd/system配下にユニットの定義ファイルを作成します。
wawawa.serviceのところは好きな名前に書き換えてあげてください。

$ sudo vim /etc/systemd/system/wawawa.service

ファイルの中身をこんなかんじに編集してあげます。

[Unit]
Description = wawawa_shell

[Service]
ExecStart = /home/ec2-user/wawawa.sh
Restart = always
Type = simple

[Install]
WantedBy = multi-user.target

各項目のちょっとした解説

項目 説明
Description このサービスの説明
ExecStart 起動するコマンドのPATH
Restart 停止時の起動条件alwaysを指定してあげると停止時に再起動してくれる
WantedBy 起動時に設定した.wantsディレクトリにリンクを作成する

サービスとして認識されたかどうか確認する

以下コマンドを実行してサービスとして認識されたかどうか確認します。
まだ有効化(enable)していませんのでdisaabled でOKです。

sudo systemctl list-unit-files --type=service | grep wawawa
wawawa.service                                disabled

サービスを有効化(enable)する

サービスを起動する前に有効化してあげる必要があります。
以下コマンドを実行します。

$ sudo systemctl enable wawawa
Created symlink from /etc/systemd/system/multi-user.target.wants/wawawa.service to /etc/systemd/system/wawawa.service.

念のため有効化されたかどうか確認
enableになっていればOK

$ sudo systemctl list-unit-files --type=service | grep wawawa
wawawa.service                                enabled 

サービスを起動する

さていよいよサービスを起動していきます。

$ sudo systemctl start wawawa

なにも問題なければ特に出力もありません。

続いてサービスが本当に起動できているのかどうか確認していきます。
以下のようにActive: active (running)となっていれば起動成功しています。

$ sudo systemctl status wawawa

● wawawa.service - wawawa_shell
   Loaded: loaded (/etc/systemd/system/wawawa.service; enabled; vendor preset: disabled)
   Active: active (running) since 金 2018-03-16 23:44:03 UTC; 10s ago
 Main PID: 3323 (wawawa.sh)
   CGroup: /system.slice/wawawa.service
           ├─3323 /bin/bash /home/ec2-user/wawawa.sh
           └─3346 sleep 1

ファイルにも日時がリダイレクトされ続けています!

$ tail -F result.log 
Fri Mar 16 23:46:10 UTC 2018
Fri Mar 16 23:46:11 UTC 2018
Fri Mar 16 23:46:12 UTC 2018
Fri Mar 16 23:46:13 UTC 2018

おわりに

Systemdを利用して自分でつくったサービス(シェル)を登録することができました。
マシン起動時に自動でサービスが起動されますのでデーモンとして常駐させておきたいようなシェルスクリプトがあれば登録するのがいいと思います!!!

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識

Amazon Linux2 にepelリポジトリを追加する

概要

AmazonLinux2で利用できるamzn2-coreリポジトリではインストールできないものがでてきたのでリポジトリを追加する方法をメモ。

RHEL7用のリポジトリを追加しているだけ

リポジトリを追加する手順

すでに追加されているyumリポジトリを調べる

すでに追加されているyumリポジトリを調べてみます。AmazonLinux2のデフォルトの場合ですと、以下のような感じだと思います。

$ sudo yum repolist all
読み込んだプラグイン:langpacks, priorities, update-motd
リポジトリー ID                                               リポジトリー名                                                                 状態
!amzn2-core/2017.12/x86_64                                    Amazon Linux 2 core repository                                                 有効: 7,315
amzn2-core-debuginfo/2017.12/x86_64                           Amazon Linux 2 core repository - debuginfo packages                            無効
amzn2-core-source/2017.12                                     Amazon Linux 2 core repository - source packages                               無効
repolist: 7,315

epel rpmパッケージをインストールする

epelのパッケージをインストールします。
RHEL7用のepelパッケージをインストールしています。

sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

これでパッケージが追加さているはずです。

パッケージが追加さているかどうか確認する

epelリポジトリが追加できました!

$ sudo yum repolist all
読み込んだプラグイン:langpacks, priorities, update-motd
104 packages excluded due to repository priority protections
リポジトリー ID                                      リポジトリー名                                                                     状態
amzn2-core/2017.12/x86_64                            Amazon Linux 2 core repository                                                     有効:      7,315
amzn2-core-debuginfo/2017.12/x86_64                  Amazon Linux 2 core repository - debuginfo packages                                無効
amzn2-core-source/2017.12                            Amazon Linux 2 core repository - source packages                                   無効
epel/x86_64                                          Extra Packages for Enterprise Linux 7 - x86_64                                     有効: 12,319+104
epel-debuginfo/x86_64                                Extra Packages for Enterprise Linux 7 - x86_64 - Debug                             無効
epel-source/x86_64                                   Extra Packages for Enterprise Linux 7 - x86_64 - Source                            無効
epel-testing/x86_64                                  Extra Packages for Enterprise Linux 7 - Testing - x86_64                           無効
epel-testing-debuginfo/x86_64                        Extra Packages for Enterprise Linux 7 - Testing - x86_64 - Debug                   無効
epel-testing-source/x86_64                           Extra Packages for Enterprise Linux 7 - Testing - x86_64 - Source                  無効
repolist: 19,634

おわりに

リポジトリが追加できましたが一応これはRHEL7向けのリポジトリなのでどこかで不具合があるかもしれないです。
もうしわけなし

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識

Joly Joyの真空パック器を買った

なんかわかんないけど急に素材の鮮度に意識が高くなったので真空パック器を買った。

雑開封の儀

外箱はこんな感じ f:id:kabegiwakun:20180317211146p:plain

箱を開ける f:id:kabegiwakun:20180317211215p:plain

本体
f:id:kabegiwakun:20180317211256p:plain

真空パックにするときにつかうふくろ f:id:kabegiwakun:20180317211322p:plain

なぞのやつ(たぶん水分が多いのを真空パックにするときにつかう)
f:id:kabegiwakun:20180317211355p:plain

ユーザマニュアル(ちゃんと日本語)
f:id:kabegiwakun:20180317211714p:plain

つかってみる

キャベツのかけらを袋に入れる f:id:kabegiwakun:20180317211913p:plain

本体の蓋を開けて袋をセットする
f:id:kabegiwakun:20180317212050p:plain

蓋の両端を手で抑えると真空パック化がはじまる
(画像はない。なぜなら両手がふさがってたから)

こんなかんじになる
f:id:kabegiwakun:20180317212148p:plain

おわりに

おわり

AWSCLIですべてのLambdaについているタグの一覧を表示するシェルスクリプト

概要

AWSCLIでLambdaのすべての関数についているタグの一覧を取得するシェルスクリプトを作成してみました。

aws lambda list-tagsはARNを指定することでその関数にアタッチされているタグを表示することができます。

ARN指定ですのですべての関数を見に行くことはできません。
のでつくりました。

コード

#実行例 以下のようにARN,タグ1,タグ2...タグnといったかんじで出力されます。
1行目はヘッダです。

$ ./lambda_describe_tags_all.sh
ARN Tags1 Tags2 ...
arn:aws:lambda:ap-northeast-1:123456789012:function:clitestfunction wawawa sasasa
arn:aws:lambda:ap-northeast-1:123456789012:function:instance-controll dadada
arn:aws:lambda:ap-northeast-1:123456789012:function:kabegiwablog

おわりに

局所的限定的シェルスクリプトみ

AWSによるサーバーレスアーキテクチャ

AWSによるサーバーレスアーキテクチャ

Amazon Linux2からGitHubのリポジトリへPushする

Amazon Linux2からGitHub上のリポジトリへPushするやりかたです。

環境

  • Amazon Linux2
  • GitHub上にはリポジトリはすでに存在している

Pushするまでの手順

AmazonLinux2からGitHub上のパブリックリポジトリへPushする方法を記載していきます。

事前準備

Gitをインストールする

まずGitをインストールします。
Amazon Linux2ではGitははいっていないのでインストールしてあげる必要があります。

$ sudo yum install git

ローカルリポジトリを作成する

ローカルリポジトリを作成したいディレクトリに移動してから、git initコマンドでローカルリポジトリを作成します。

$ git init

git configでユーザ名とメールアドレスを設定する

誰がCommitしたのかを記録するためにgit configでユーザ名を設定しておきます。

$ git config --global user.name "takakabe"

メールアドレスも設定しておきます。

$ git config --global user.email kabegiwablog@example.com

GitHubにssh接続するための鍵を作成する

GitHubにssh接続するために利用するsshキーを作成します。 パスワードをきかれますので任意のパスワードを設定してあげてください。

$ ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/ec2-user/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/ec2-user/.ssh/id_rsa.
Your public key has been saved in /home/ec2-user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ec2-user@ip-192-140-1-1.ap-northeast-1.compute.internal
The key's randomart image is:
+---[RSA 2048]----+
|       .EooO=BOO=|
|        . Xo=+=**|
|        .+.+ ++++|
|        .+.+ ++++|
|       .+.+ ++++.|
|       . o  .    |
|        + .      |
|         o       |
|                 |
+----[SHA256]-----+

鍵が作成できました。
GitHubへの登録で利用するので公開鍵をcatした結果をコピーしておきます。

$ cat ~/.ssh/id_rsa.pub 
ssh-rsa AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ec2-user@ip-192-140-1-1.ap-northeast-1.compute.internal

GitHubに鍵を設定する

先ほど作成した鍵をGitHubに登録していきます。
「Setting」→「SSH and GPG keys」とすすみ、 f:id:kabegiwakun:20180314232209p:plain
「New SSH key」を選択します。
f:id:kabegiwakun:20180314232449p:plain

catでコピーした公開鍵をKeyの部分に貼り付けて「Add SSH key」を選択します。
TItleはてきとーで大丈夫です。 f:id:kabegiwakun:20180314232935p:plain

ローカルリポジトリの作業

事前準備は以上で完了ですので実際にPushしていきます。

Pushしたいファイルをローカルリポジトリにaddする

git addを利用して最終的にGitHubにPushしたいファイルをローカルリポジトリにAddします。
今回はlambda_describe_tags_all.shというシェルスクリプトをAddしています。

$ git add ./lambda_describe_tags_all.sh

ローカルリポジトリにCommitする

さきほどAddしたファイルをCommitします。

$ git commit -m "Lambda関数のタグを一覧で出力する"

リモートリポジトリを設定する

リモートリポジトリの設定としてPushしたいGitHub上のリポジトリを指定してあげます。
例えば以下のリポジトリにPushしたい場合は、

github.com

こんなかんじでコマンドを実行してあげます。

$ git remote add origin git@github.com:takakabe/blog_shellscript.git

git@github.com:takakabe/blog_shellscript.gitの記述はGitHubのリポジトリの「Clone or Download」の赤枠のところをみればわかります。
f:id:kabegiwakun:20180314224128p:plain   

GitHubのリポジトリにPushする

さて、いよいよGitHubにPushしていきます。
以下コマンドを実行することでGitHubへファイルの更新を反映させることができます。

$ git push origin master

無事できました!
f:id:kabegiwakun:20180314234515p:plain

おわりに

GitHubをうまくつかっていきたいとおもいましたまる

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉

Pythonのコマンドライン引数 雑チートシート(シェルスクリプトでできたことをやりたい)

シェルスクリプトの${なにがし}をPythonだとどうやって書くのかをまとめました。
(Linux上のシェルスクリプトを適宜Pythonにしたい)

雑チートシート

Python ShellScript 説明
sys.argv[0] ${0} 自身のファイル名
sys.argv[1] ${1} 1番目の引数
len(sys.argv)-1 ${#} 引数の数(スクリプト自身のファイル名がargv[0]なので-1する)
sys.argv ${#},${*} 全引数リスト
os.getpid() ${$} スクリプトのプロセスID

上記実行のためにimport sysimport osは必要です。
__path__でも自身のファイル名を取得できる(こっちのほうがかっこいいかも)

動作確認用のスクリプト

動作確認用に作ったスクリプトはこんなかんじです。

実行結果

実行するとこんな感じです。

$ ./shell_cmdline.py wawawa sasasa
./shell_cmdline.py
wawawa
2
['./shell_cmdline.py', 'wawawa', 'sasasa']
6687

おわりに

Linux上のシェルスクリプトを適宜Pythonにしたい
かっこいいから

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

Ansibleのwin_commandでは%path%などの変数はつかえないのでwin_shellをつかおう

Ansibleのwin_commandでは%path%などの変数はつかえないのでwin_shellをつかおうというはなし(戒め)

やってしまったこと

こんなかんじでwin_commandでPATHを追加しようとした。

win_command: setx /M path "%path%;C:\Program Files (x86)\wawawa"

得られた結果

%path%が%path%(文字列)になり既存のPATHが上書きされた結果winRMのPATHがなくなってAnsibleから繋がらなくなって環境がだめになった。

c:\>echo %path%
%path%;C:\Program Files (x86)\wawawa

こうするべきだった

win_shellでcmdを利用して実行するように設定する。
こうしないと変数がよみこまれないので要注意!!!

win_shell: setx /M path "%path%;C:\Program Files (x86)\wawawa"
args:
  executable: cmd

おわりに

win_shellはデフォルトではPowershellでうごくのでexecutable: cmdを指定してあげる必要があります!
win_commandはもうつかわないほうがいいのかな…?

Ansible実践ガイド 第2版 (impress top gear)

Ansible実践ガイド 第2版 (impress top gear)

Google HomeのIPアドレスを確認する方法

Google HomeのIPアドレスを確認する方法をご紹介します!

手順

1. スマートフォンのGoogle Homeアプリを起動して、右上の赤枠のアイコンをタップする。

f:id:kabegiwakun:20180311181345p:plain

2. IPアドレスを知りたいGoogle Homeのをタップして「設定」を選択する。

f:id:kabegiwakun:20180311183337p:plain

3. スクロールして一番下でGoogle HomeのIPアドレスが確認できる。

f:id:kabegiwakun:20180312065943p:plain

おわりに

おわり

Amazon Echo (Newモデル)、サンドストーン (ファブリック)

Amazon Echo (Newモデル)、サンドストーン (ファブリック)