Submit Search
Upload
シェルスクリプトでQOLを上げる話
•
0 likes
•
1,505 views
Junpei Matsuda
Follow
シェルスクリプトでQOLを上げる話だけど実際はシェルスクリプトとmacでQOLを上げたかった話
Read less
Read more
Report
Share
Report
Share
1 of 32
Download now
Download to read offline
Recommended
Power shellmemo
Power shellmemo
ytanno
Xoopsサイト制作セミナー 20120922
Xoopsサイト制作セミナー 20120922
Toshihiro Takehara
2012/09/22(土)に開催したXOOPSウェブサイト制作セミナー@ミタカフェで使用したスライドです。
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
Akihiro Kuwano
MySQL Casual Talks Vol.7で発表したLTの資料ですm(_ _)m
PowerShell de Azure
PowerShell de Azure
Atsushi Kojima
Modulemaking
Modulemaking
Hikawa Kilica
sql_require_primary_keyを使って主キーを必須にさせる
sql_require_primary_keyを使って主キーを必須にさせる
lhfukamachi 深町
MySQL Casual Talks vol.11で発表した内容になります。
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
Takahiro Okumura
MySQL Casual Talks vol.7 http://mysql-casual.connpass.com/event/9767/
ebisu.rb #19 超実践 super
ebisu.rb #19 超実践 super
Kaito Minatoya
ebisu.rb #19 で登壇したときの資料です。 https://ebisurb.connpass.com/event/103701/
Recommended
Power shellmemo
Power shellmemo
ytanno
Xoopsサイト制作セミナー 20120922
Xoopsサイト制作セミナー 20120922
Toshihiro Takehara
2012/09/22(土)に開催したXOOPSウェブサイト制作セミナー@ミタカフェで使用したスライドです。
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
Akihiro Kuwano
MySQL Casual Talks Vol.7で発表したLTの資料ですm(_ _)m
PowerShell de Azure
PowerShell de Azure
Atsushi Kojima
Modulemaking
Modulemaking
Hikawa Kilica
sql_require_primary_keyを使って主キーを必須にさせる
sql_require_primary_keyを使って主キーを必須にさせる
lhfukamachi 深町
MySQL Casual Talks vol.11で発表した内容になります。
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
Takahiro Okumura
MySQL Casual Talks vol.7 http://mysql-casual.connpass.com/event/9767/
ebisu.rb #19 超実践 super
ebisu.rb #19 超実践 super
Kaito Minatoya
ebisu.rb #19 で登壇したときの資料です。 https://ebisurb.connpass.com/event/103701/
れれれのGitおぢさん - git rerere #w8lt
れれれのGitおぢさん - git rerere #w8lt
Junpei Matsuda
れれれのGitおぢさん - git rerere #w8lt 6回目
Spring + Gradle + Kotlin W8LT#5
Spring + Gradle + Kotlin W8LT#5
Junpei Matsuda
Spring + Gradle + KotlinでWebアプリを作ってみたかった
Try to Write A Better Commit Message
Try to Write A Better Commit Message
Junpei Matsuda
適当なLT
Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4
Junpei Matsuda
東工大西8号館LT用 Bashで競技プログラミングをやるツラい話
Kotlinで快適Android開発 #W8lt
Kotlinで快適Android開発 #W8lt
Junpei Matsuda
Recommends to develop Android application with Kotlin. (Japanese)
Application Developer Festival 2015 LT
Application Developer Festival 2015 LT
Junpei Matsuda
Application Developer Festival 2015 LT Git & Shell script
PRML2.3.8~2.5 Slides in charge
PRML2.3.8~2.5 Slides in charge
Junpei Matsuda
パターン認識と機械学習 上巻 2.3.8~2.5の担当分
More Related Content
More from Junpei Matsuda
れれれのGitおぢさん - git rerere #w8lt
れれれのGitおぢさん - git rerere #w8lt
Junpei Matsuda
れれれのGitおぢさん - git rerere #w8lt 6回目
Spring + Gradle + Kotlin W8LT#5
Spring + Gradle + Kotlin W8LT#5
Junpei Matsuda
Spring + Gradle + KotlinでWebアプリを作ってみたかった
Try to Write A Better Commit Message
Try to Write A Better Commit Message
Junpei Matsuda
適当なLT
Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4
Junpei Matsuda
東工大西8号館LT用 Bashで競技プログラミングをやるツラい話
Kotlinで快適Android開発 #W8lt
Kotlinで快適Android開発 #W8lt
Junpei Matsuda
Recommends to develop Android application with Kotlin. (Japanese)
Application Developer Festival 2015 LT
Application Developer Festival 2015 LT
Junpei Matsuda
Application Developer Festival 2015 LT Git & Shell script
PRML2.3.8~2.5 Slides in charge
PRML2.3.8~2.5 Slides in charge
Junpei Matsuda
パターン認識と機械学習 上巻 2.3.8~2.5の担当分
More from Junpei Matsuda
(7)
れれれのGitおぢさん - git rerere #w8lt
れれれのGitおぢさん - git rerere #w8lt
Spring + Gradle + Kotlin W8LT#5
Spring + Gradle + Kotlin W8LT#5
Try to Write A Better Commit Message
Try to Write A Better Commit Message
Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4
Kotlinで快適Android開発 #W8lt
Kotlinで快適Android開発 #W8lt
Application Developer Festival 2015 LT
Application Developer Festival 2015 LT
PRML2.3.8~2.5 Slides in charge
PRML2.3.8~2.5 Slides in charge
シェルスクリプトでQOLを上げる話
1.
シェルスクリプトで QOLを上げたい W8LT#3 Salab@fat_daruuuuma
2.
シェルスクリプト • Bashとかシェルで動くやつ • 許可とコマンドさえあればシステム設定にも触れる •
一発で色々できる • 書き方に個人差が超出る • 最高 • 強い • かっこいい • 天才
3.
こんなことありませんか? 第1弾
4.
Macで 外部キーボードを使いたい
5.
Mac with 外部KB •
ツラい現実 • 外部KBがあると邪魔 • Macに乗せると内部KBが反応しちゃう • MagicTrackPadとかあればなんとか • 良い現実 • 内部KBを有効/無効化できるコマンドがある • つまりシェルスクリプトでなんとかなる
6.
function ctrl_internal_keyboard() { sudo
$1 /System/Library/Extensions/AppleUSBTopCase.kext/ Contents/PlugIns/AppleUSBTCKeyboard.kext case $? in 3) exit 0;; *) exit $?;; esac } ! alias awake_int_kb= ctrl_internal_keyboard "kextload"' alias sleep_int_kb= ctrl_internal_keyboard "kextunload"' コマンド
7.
外部キーボードを 繋いだら叩けばいい ! ・・・めんどい?
8.
Control Plane with シェルスクリプト
9.
Control Planeとは • Mac
OS Ⅹアプリ(Ciscoのアレじゃないよ) • http://www.controlplaneapp.com/about/ • Context based configurationを可能に • あるContextのとき,ある優先度で,何かを実行 • Network環境やらusb attach/detach等をとれる • シェルスクリプトも実行可能
10.
手順(簡素) • 外部KBを繋ぐ • Contextに名前をつけて新規作成(ext
KBとする) • Add attached USB Device Ruleで外部KBを選択 • Run ShellScript Actionをext KBに結びつける • arrival時に内部KBを寝かせ,departure時に内部KB を起こすScriptを設定する • /sbin/kextload, /sbin/kextunloadはNO PASSWD でsudoできるよう変更
11.
最高
12.
外部キーボード使わないけど
13.
こんなことありませんか? 第2弾
14.
いちいちシェルにProxy設定めんどい 東工大のtitech-pubnetつらい
15.
わかる∼∼∼∼∼∼
16.
要件 • 本体のネットワーク設定(Proxy含む) • SSIDを取得 •
シェルのProxy設定 • Proxyの認証 • IPが割り当てられないと不可 • 稀にWifiをon/offしないと繋がらないのでそれ
17.
使うもの • 本体のネットワーク設定(Proxy含む) • scselect
&& Network環境プロファイル • SSIDを取得 • /System/Library/PrivateFrameworks/Apple80211.framework/ Versions/Current/Resources/airport -I ¦ grep ' SSID' ¦ awk '{print $2} • シェルのProxy設定 • SSID drivenで規定のproxyをexport • Proxyの認証(IPが割り当てられないと不可) • ifconfigからIPの割り当てを見て,curlで認証 • 稀にWifiをon/offしないと繋がらないのでそれ • networksetup -setairportpower en0 $(on/off)
18.
はい https://github.com/jmatsu/auto-export-proxy ※今度れどめ更新します
19.
こんなことありませんか? 第3弾
20.
T/Aやってると 学部生が優秀すぎて困る
21.
( ^ν^)「report.txt」 ( ^ν^)「採点するぞ∼」
22.
23.
はい,0点 ! とできないつらさ
24.
hoge.pdf => report.txt 正直嫌がらせの天才だと思う
25.
今までの提出例 • report.txtという名前を被った • pdf,
doc, xls, docx, xlsx, rtf, tex • Mac端末から提出するのに • Shift-JIS, EUC-JP, BINARY • お前に何があった • executable permission, tsurai.txt • 帰れ • repouto-dayo.txt, 0byteのreport.txt
26.
ある程度は シェルスクリプトで 一発置換しましょう
27.
方針 • 基本 • エンコードの判定 •
MIME typeの検出 • 名前変更 or 変換 • エンコードを変更 • 例外 • docxとxlsxはMIMEがzip • 解凍したときの情報から判断
28.
使うもの(の例) • MIME typeの検出 •
file -I $1 ¦ awk {print $2} • 特定拡張子ファイル探索 • find -E $dir -type f -iregex $regex とか • rtfからtxtへのconvert • textutil -convert txt $rtf_file • エンコ判定と変更にnkf • その他 正規表現マッチやらcpやらunzip -Zやら
29.
プロトタイプ https://gist.github.com/jmatsu/ 26a9a997d4d5af7c5e97
30.
優秀な学部生がいると T/Aも頑張らないとツラいですね
31.
優秀な学部生へ 僕から伝えたいことは下記urlで https://www.google.co.jp/search?q=linus+fuck&espv=2&biw=988&bih=673&tbm=isch&source=lnms&sa=X&ei=r1WKVaO-FoTsmAXX6YCQDw&ved=0CAcQ_AUoAg
32.
• ちなみに • Mac
OS Ⅹ 10.9.5 • zsh 5.0.7 (x86_64-apple-darwin13.4.0) • で動作を確認しています
Download now