`expect` で絞めていただこ - shellscript の実行途中で求められるパスワード入力を自動で
と言うお話.
設定用 shellscript を走らせていて,途中,度々求められるメールやパスワードの入力がどうにかならないものか,と思うようになってきました.
このために結局マシンの前を離れられない.
何のためにスクリプト用意して作業を自動化しているのか,
煩雑な作業を shellscript に任せて自動化してやっほい,という企みもこれではほっとんど意味がないじゃない.
...と彷徨い,ほどなくして expect
というコマンドがあることを知ります.
そんなとき、毎回パスワードを入力するのは面倒!(略)という問題を解決するのがexpectというコマンドです。
コマンドの返答を識別して次の入力を自動的に行うコマンド
今回これを使ってみたので,備忘録.
% sw_vers ProductName: Mac OS X ProductVersion: 10.12.2 BuildVersion: 16C67続きを読む
やっぱつらいのでやってもらを.- iTerm2 編
は?もしかしてシリーズ化とかイキッてるの?,と睨まれても仕方ない感じですが,ホントそんなことありません,の(笑,またまた os のクリーン再インストールに端を発したイベントの話.*1
実はインストールは homebrewcask で楽できてはいたのですが,設定の方は相変わらず手作業でした.
これが結構煩わしいもので,いつも,ついつい後回しにしてしまう.
そして忘れた頃に必要になって起動した時,悲しい思いをし,結局手で設定をする.でも,やっぱり面倒なのには変わりなく,尚且つさっさと取掛りたいからヤッツケな設定で切り抜ける.
で,また放置...
そんなのを性懲りもなく繰り返してました.
いけません.
これを断ちたいと思います.
*1:しつこいな.
`plutil` が json 形式にコンバートしてくれないっ、てゆのは
やりたかったこと。;
plutil -convert json ~/Library/Preferences/com.googlecode.iterm2.plist \ -o ~/com.googlecode.iterm2.plist.json
plutil
コマンド使って plist
ファイルを json 形式にコンバートして頂こうとお願いしたのですが、応えはエラー。;
~/Library/Preferences/com.googlecode.iterm2.plist: invalid object in plist for destination format
xml へは出来るのに。;
plutil -convert xml1 ~/Library/Preferences/com.googlecode.iterm2.plist \ -o ~/com.googlecode.iterm2.plist.json
一応...;
% plutil -lint ~/Library/Preferences/com.googlecode.iterm2.plist
~/Library/Preferences/com.googlecode.iterm2.plist: OK
ですよね。
そんなんなか、目にしたのがこんな記載。;
One complication with this is that some Plist data types cannot be converted by plutil. The workaround I found was to do some pre-processing on the plist before passing it to plutil. Specific to the plist that I’m working with, I had to replace both and
tags with .
「あ。」(察し
またあんたかい...つか潰すけどね,[caps lock]
以前にもレポートしましたけど,どうやら,また仕様を変えたようで.
役立たずの [caps lock] キーを control キーに変更する shellscript のお話.;
keyboard_vid=$(ioreg -n 'Apple Internal Keyboard' -r | grep -E 'idVendor' | awk '{ print $4 }') keyboard_pid=$(ioreg -n 'Apple Internal Keyboard' -r | grep -E 'idProduct' | awk '{ print $4 }') keyboardid="${keyboard_vid}-${keyboard_pid}-0" # CapsLock(30064771129) -> Control(30064771296) defaults -currentHost write -g com.apple.keyboard.modifiermapping.${keyboardid} -array-add ' <dict> <key>HIDKeyboardModifierMappingDst</key> <integer>30064771296</integer> <key>HIDKeyboardModifierMappingSrc</key> <integer>30064771129</integer> </dict> '
これで [caps lock] キーは control キーとして振る舞うようになりました.
思うに,設定の反映は killall cfprefsd
とかは暖簾に腕押し.再起動必要みたい*1.
しかし同じバージョン内で,こんな部分にまでも手を入れてくるもんなんですね.何だかな...
あ、あと知ってました?
上にあるように ‘’ 内で改行やインデント入れて記述できるんですね。エスケープ \
とか不要みたい。うん見通し良くて実に気持ちいい。
*1:
これが実にめんどくさいっっ.
何か方法ないもんですかね.
こんどは `eye-d3` かよっ 苛
今回も,これ,役に立つ人っているのだろうか,と言った感じの話題.笑
homebrew で eyeD3 を入れるなら,
brew install eye-d3
が正解だった,というお話.
これもまた前回エントリ同様,os のクリーン再インストールが契機となったもの. クリーンインストールしたので,いつもの通り設定用の shellscript を走らせ,戻ってきたら,途中で止まっていた.(苛
場所は,eyeD3 のインストール.
続きを読む