SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Shizuoka.py#3 LT
@aoshiman

2013.11.16
13年11月17日日曜日
お題:Pythonでクラウド上のスクリ
プトを実行する

13年11月17日日曜日
最初に
この話はUnix、Linux等でShellにBash、
Zshを使用していることが前提のお話しで
す。
それ以外の方、つまらないからといって私
に石を投げないで下さい。
※Python2.7.5 で確認しています

13年11月17日日曜日
ところでOSXを使用されている方、Homebrew
というパッケージ管理ソフト、使ってますか?

13年11月17日日曜日
なによりもスピードが要求されるこのご時世、
なるべくならソースをダウンロードして自前で
インストールとかしたくない。。
Homebrewならコマンド一発でインストー
ル、アンインストールできるし、とっても便
利。

13年11月17日日曜日
で、本日の話のきっかけが、
Homebrew自身のインストール方法
なのです。

13年11月17日日曜日
$ ruby -e “$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)”

インストール?
これをコピーしてターミナルに貼り付けて
実行してくれればOK

13年11月17日日曜日
かっこいい

13年11月17日日曜日
これをPythonでもやり
たい!!

13年11月17日日曜日
やってみる(そのあと解説)
python -c “$(curl -fsSL http://bit.ly/Shizuokapy3LT)”

13年11月17日日曜日
Tips①PythonのCオプションを使う
python -c command
command内のPythonコードを実行するインタプ
リタのインターフェイスオプション

13年11月17日日曜日
Tips②シェルスクリプトでコマンド
実行結果を変数に格納する
$(command)
echo $(pwd)
※バッククォートでも同じ結果になるが今回は
Homebrewのインストールコマンドに合わせてま
す

13年11月17日日曜日
Tips③Curlでリダイレクト先をどこまで
も追いかけて標準出力する
curl -fsSL
-f サーバエラーが生じても何も表示させない
-s サイレントモード(プログレスメーター等表示させ
ない)
-S サーレントモードで実行するが失敗時だけエラー表
示させる(-sと併用)
-L リダイレクト追跡

13年11月17日日曜日
Tips① + ② + ③を組み合わせること
によりPythonでHomebrewのインス
トールのようなことが可能になりま
す。

13年11月17日日曜日
ところで、Wgetの場合はどうやるの?
Curlはデフォルトで標準出力してくれる
けど、Wgetはダウンロードしてしま
う。。

13年11月17日日曜日
↓このようにやります
python -c “$(wget -q -O - http://bit.ly/Shizuokapy3LT)”

-q サイレントモード
-O 保存先の指定
- 標準出力

13年11月17日日曜日
まとめ
python -c command command内のPythonコードを
実行する
シェルスクリプト $(command)は括弧内のコマンド実
行結果を変数に格納
Curlでリダイレクトありurlを標準出力
curl -fsSL
Wgetでリダイレクトありurlを標準出力
wget -q -O -

13年11月17日日曜日
これで自己紹介をするとかっこいいかも
※但し、悪用厳禁です

13年11月17日日曜日
python -c “$(wget -q -O - http://bit.ly/Shizuokapy3LTend)”

13年11月17日日曜日
ご清聴ありがとうございました(^^)/

13年11月17日日曜日
参考URL
•http://blog.supermomonga.com/articles/vim/put-cloud-source-to-args-invimshell.html
•http://www.hcn.zaq.ne.jp/___/unix/curl_manpage.html
•http://www.gnu.org/software/wget/manual/wget.html#Very-AdvancedUsage

13年11月17日日曜日

Contenu connexe

Tendances

Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内Takuto Matsuu
 
XRDPで怠惰な日々を送る
XRDPで怠惰な日々を送るXRDPで怠惰な日々を送る
XRDPで怠惰な日々を送るmonochrojazz
 
タイル型ウィンドウマネージャawesomeのススメ
タイル型ウィンドウマネージャawesomeのススメタイル型ウィンドウマネージャawesomeのススメ
タイル型ウィンドウマネージャawesomeのススメTakuto Matsuu
 
AllwinnerタブレットのOSを作ってみる(中編)
AllwinnerタブレットのOSを作ってみる(中編)AllwinnerタブレットのOSを作ってみる(中編)
AllwinnerタブレットのOSを作ってみる(中編)shimadah
 
エンジニアのための痔の話
エンジニアのための痔の話エンジニアのための痔の話
エンジニアのための痔の話Kouhei Maeda
 
俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがないTakuto Matsuu
 
サーバを作ってみた (1)
サーバを作ってみた (1)サーバを作ってみた (1)
サーバを作ってみた (1)SeungYong Yoon
 
S2s websrv201011-presen
S2s websrv201011-presenS2s websrv201011-presen
S2s websrv201011-presenKouhei Maeda
 
PNA3秒クッキング
PNA3秒クッキングPNA3秒クッキング
PNA3秒クッキングwizstargaer
 
USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会
USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会
USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会University of Tsukuba Linux User Group
 
Eucalyptus on OpenStack
Eucalyptus on OpenStackEucalyptus on OpenStack
Eucalyptus on OpenStackirix_jp
 
UbuntuやChromiumの紹介
UbuntuやChromiumの紹介UbuntuやChromiumの紹介
UbuntuやChromiumの紹介勝 熊崎
 
Infernoについて(仮)
Infernoについて(仮)Infernoについて(仮)
Infernoについて(仮)Yuuki Tan-nai
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo LinuxについてTakuto Matsuu
 
Rumpを使ってみる
Rumpを使ってみるRumpを使ってみる
Rumpを使ってみるMasaru Oki
 
オレのUbuntuノートPCセットアップ 2016-12-17
オレのUbuntuノートPCセットアップ 2016-12-17オレのUbuntuノートPCセットアップ 2016-12-17
オレのUbuntuノートPCセットアップ 2016-12-17Nobuto Murata
 
Ubuntuで最新パッケージを導入
Ubuntuで最新パッケージを導入Ubuntuで最新パッケージを導入
Ubuntuで最新パッケージを導入Maruyama Tetsutaro
 
Tech oyaji ksmakoto_presen
Tech oyaji ksmakoto_presenTech oyaji ksmakoto_presen
Tech oyaji ksmakoto_presenMakoto Kishimoto
 

Tendances (20)

Gentoo Linuxの紹介
Gentoo Linuxの紹介Gentoo Linuxの紹介
Gentoo Linuxの紹介
 
Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内
 
XRDPで怠惰な日々を送る
XRDPで怠惰な日々を送るXRDPで怠惰な日々を送る
XRDPで怠惰な日々を送る
 
タイル型ウィンドウマネージャawesomeのススメ
タイル型ウィンドウマネージャawesomeのススメタイル型ウィンドウマネージャawesomeのススメ
タイル型ウィンドウマネージャawesomeのススメ
 
AllwinnerタブレットのOSを作ってみる(中編)
AllwinnerタブレットのOSを作ってみる(中編)AllwinnerタブレットのOSを作ってみる(中編)
AllwinnerタブレットのOSを作ってみる(中編)
 
エンジニアのための痔の話
エンジニアのための痔の話エンジニアのための痔の話
エンジニアのための痔の話
 
俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない
 
サーバを作ってみた (1)
サーバを作ってみた (1)サーバを作ってみた (1)
サーバを作ってみた (1)
 
S2s websrv201011-presen
S2s websrv201011-presenS2s websrv201011-presen
S2s websrv201011-presen
 
PNA3秒クッキング
PNA3秒クッキングPNA3秒クッキング
PNA3秒クッキング
 
USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会
USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会
USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会
 
Eucalyptus on OpenStack
Eucalyptus on OpenStackEucalyptus on OpenStack
Eucalyptus on OpenStack
 
UbuntuやChromiumの紹介
UbuntuやChromiumの紹介UbuntuやChromiumの紹介
UbuntuやChromiumの紹介
 
Infernoについて(仮)
Infernoについて(仮)Infernoについて(仮)
Infernoについて(仮)
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
 
Rumpを使ってみる
Rumpを使ってみるRumpを使ってみる
Rumpを使ってみる
 
オレのUbuntuノートPCセットアップ 2016-12-17
オレのUbuntuノートPCセットアップ 2016-12-17オレのUbuntuノートPCセットアップ 2016-12-17
オレのUbuntuノートPCセットアップ 2016-12-17
 
Ubuntuで最新パッケージを導入
Ubuntuで最新パッケージを導入Ubuntuで最新パッケージを導入
Ubuntuで最新パッケージを導入
 
Tech oyaji ksmakoto_presen
Tech oyaji ksmakoto_presenTech oyaji ksmakoto_presen
Tech oyaji ksmakoto_presen
 
rpi_handson_2
rpi_handson_2rpi_handson_2
rpi_handson_2
 

Pythonでクラウド上のスクリプトを実行する