shellで対話形式に処理を進めるには
#!/bin/sh echo -n "input[y/n] : " while read YN; do case $YN in 'y' ) echo "your input y " break;; 'n' ) echo "your input n " break;; * ) echo -n "Please input [y/n] : ";; esac done exit 0
Linux ifconfigからgrepとsedを用いてipアドレスのみ取得する。
コマンド
# /sbin/ifconfig eth0 | grep 'inet addr:' | sed -e 's/^.*inet addr://' -e 's/ .*//'
結果
192.168.0.123
※良く忘れるので1ステップずつメモを残す。
eth0のip情報を表示 # /sbin/ifconfig eth0 eth0 Link encap:Ethernet HWaddr aa:bb:cc:dd:ee:ff inet addr:192.168.0.123 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:16910 errors:0 dropped:0 overruns:0 frame:0 TX packets:6693 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1421134 (1.3 MiB) TX bytes:2839384 (2.7 MiB)
ifconfigの結果をgrepコマンドに引き渡す。 先頭からinet addr:に一致する部分を検索する。 # /sbin/ifconfig eth0 | grep 'inet addr:' inet addr:192.168.0.123 Bcast:192.168.0.255 Mask:255.255.255.0 ※左側にスペースもあり
grepの結果をsedに引き渡す。 先頭から検索し、*.inet addr:にマッチする部分をカットします。 # /sbin/ifconfig eth0 | grep 'inet addr:' | sed -e 's/^.*inet addr://' 192.168.0.123 Bcast:192.168.0.255 Mask:255.255.255.0 ※スペースも削除された。
sedの結果を続けて処理。 半角スペース以降をカットします。 パイプ処理しなくても連続処理が可能。 # /sbin/ifconfig eth0 | grep 'inet addr:' | sed -e 's/^.*inet addr://' -e 's/ .*//' 192.168.0.123
スクリプト内での利用
ip_get.sh
#!/bin/sh # functionの戻り値として文字列を返す function func_get_ip(){ IP=`/sbin/ifconfig eth0 | grep 'inet addr:' | sed -e 's/^.*inet addr://' -e 's/ .*//'` echo $IP } # コマンド実行、結果を変数に保持 ip=`func_get_ip` echo $ip exit 0
実行
$ sh ./ip_get.sh 192.168.0.123
Python Image Library(PIL) を CentOS 6の64bit環境で使えるようにする
参考にしたページは以下。
http://itekblog.com/centos-6-x-install-pil-python-imaging-library-tutorial/
EPEL リポジトリの登録が必要のようです
cd /opt/ wget http://mirrors.nl.eu.kernel.org/fedora-epel/6/i386/epel-release-6-7.noarch.rpm rpm -Uvh epel-release-6-7.noarch.rpm rm epel-release-6-7.noarch.rpm -f
インストール
yum install python-imaging
テスト
img.pyを作成
from PIL import Image img = Image.new('RGB', (100, 100), 'white') img.save('white.png')
実行,確認
$ python img.py
white.pngが作成されていればOKです。
Python Image Library(PIL) ドキュメント
http://effbot.org/imagingbook/pil-index.htm
Python Pillow を windows7 64bit環境で使えるようにする
windows7 64bit環境でPIL(Python Image Library)を試そうと思ったところ上手く行かず。
インストールしてあるpythonは python 2.7。
64bit向けにコンパイルしてくれているサイトからダウンロードしました。
http://www.lfd.uci.edu/~gohlke/pythonlibs/
Pillow-2.5.1.win-amd64-py2.7.exeをダウンロードしてインストール
img.pyを作成
from PIL import Image img = Image.new('RGB', (100, 100), 'white') img.save('white.png')
img.pyを実行
> python img.py
white.pngが作成されていればとりあえず使えるようになっています。
Python Image Library(PIL) ドキュメント
http://effbot.org/imagingbook/pil-index.htm
DOS 日付フォーマット
深夜に稼働させるバッチファイルで、yyyymmddhhmmss.logと言ったログファイルを作成しようとしたところ、思うように動作しなかったのでメモ。
>SET YYYYMMDDHHMMSS=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% >echo %YYYYMMDDHHMMSS% 20140501165030
これだと時刻が0〜9時の間にスペースが含まれるようです。
スペースを0に置き換えてみました。
C:>echo %YYYYMMDDHHMMSS%
20140501 91030
C:>echo %YYYYMMDDHHMMSS: =0%
20140501091030
AWS ELBにSSL証明書を設定する
AWSにSSL設定を行なった際のメモ
LBの設定が既にある場合を前提にします。
左メニューの[Load Balancers]選択 [Load Balancer Name]から、SSL設定したいELBを選択 [Listeners]選択 -> [EDIT] -> [Add]で [HTTPS] -> [HTTP]を選択 -> [Saveクリック] [SSL Certificate] -> [Change]を選択 [Select Certificate]ポップアップが表示される。 Certificate Type -> [Upload a new SSL Certificate]を選択 Certificate Name -> 証明書を識別出来る名前なら何でも良い Private key -> 秘密鍵の中身をコピーペースト(*.key) Public key Certificate -> 証明書の中身をコピーペースト(*.crt) Certificate Chain -> 中間証明書の中身をコピーペースト(*CA*.crt)