memo

sudoを使用時の環境変数PATHの設定

node.jsをインストール・設定している時に気がついたのですが、いつのころからか、sudoを使用する時の環境変数PATHが引き継がれないようです。 調べてみると、いくつかの対応方法があるようです。 aliasで対応する方法 alias sudo="sudo env PATH=$PATH" /et…

Pythonで、expect。pexpectがいい感じ。

とあるインストーラの自動化をしたいがために、expectを使いたい状況になったのですが、expectが使えない環境(インストールされていないし、権限もない)だったので、変わりに何かあるかなと探していたところ、expectのPython版があることを知りました。pex…

kill の「終了しました」のメッセージが邪魔

kill コマンドを発行する時の「終了しました」が非常に邪魔だったので、消す方法がないか調べていたら、これで簡単に消せた。 pid=`sh -c 'hoge & echo $!'` kill $pid

ファイルから読み取った16進数の文字列をバイナリ形式(数値)に変換する方法

メモ 16進数のテキスト文字で書かれたファイルを読み込んで、 バイナリデータに変換する必要があったので、適当に作ってみた関数。 0xFF形式のみ、拾い上げて、数値に変更するだけ。 char* my_strcpy(const char* str) { char* p = (char*)malloc(strlen(str…

バイナリエディタ

バイナリファイルの編集ですが、vimを使用するのが楽です。やり方は簡単で、バイナリモードで開いて、 $ vi -b hoge.txt16進数ダンプ形式に変換 :%!xxdこれだけで自由に編集可能になります。編集がすんだら、 :%!xxd -r で、元に戻す。と。便利ですね。です…

evalを使ったshell functionの戻り値の設定方法

これは便利な使い方と思ったので、メモshell 内の function で、文字列は返せません。テクニックとして、echoを使ったり、shell変数とかを使って橋渡したりするのですが、いつもスマートじゃないと思っていました。そんなとき、evalを使用して文字列を返す方…

ディレクトリ名から、ファイル名、および拡張子を取得するshell

いつもすぐ忘れてしまうのでメモということで。 $cat test.sh #!/bin/sh fpath=/var/www/html/index.html bname=${fpath##*/} fname=${bname%.*} ename=${bname##*.} echo $fname.$ename実行結果 $ ./test.sh index.html