読者です 読者をやめる 読者になる 読者になる

Folioscope

プログラミング/Unix系/デザイン/CG などのメモがもりもり

Bashでstdout/stderr/exit codeをキャプチャ

sh

Shell Script Advent Calendar 2015 7日目の記事です。 BashのちょっとしたTipsです。 Bashに限らないかも知れませんが、検証環境がBashしかありませんでした。 問題 Bashで $(command) と書くと、commandがサブシェルで実行され、 stdout(標準出力)を変数…

Bash用ユニットテストフレームワーク作りました

sh

Bash用テストフレームワークに、Batsやshunit2がありますが、イケてないなーと思ってたら、気づいたら自分で作ってました。 github.com テストの結果はモダンなテストフレームワークのように、カラフルに表示します。 またFAIL時は、FAILしたテストの結果を…

新生活が捗るディレクトリ移動のaliasたち

sh

大きなプロジェクトは、ディレクトリ構造が深くなりがち。 そうなるとディレクトリの上下移動が激しくなり指が死ぬ。 そこで自分がいつも使っているaliasを紹介します。 気に入ったaliasは.bash_profileや.bashrcにメモしましょう。 ../.../.... ディレクト…

BashでChefっぽいこと

sh

photo by Éole Itamae便利説 Chefっぽいことと言っておきながら、軽量ChefのItamaeしか触ったことありません。 しかし便利ですよね。 Itamae - Infra as Code 現状確認会 // Speaker Deck しかしChefにせよ、itamaeにせよ、環境を入れないと使えません。 と…

VAIO Care for Linux

VAIO Proが届いて3日、Linuxを入れて快適に作業できています。 ArchWikiを見て知ったのですが、VAIO特有のいたわり充電などの機能ががLinuxでも使えるそうです。 /sys/以下からアクセスできるあたり、ハードウェアかミドルウェアあたりで制御しているのでし…

ターミナルでバッテリの状態を取得

ターミナルでバッテリー残量が表示できれば便利ですね。 Linuxだと/sys/class/power_supply/BAT*にバッテリー情報があります。 デバイスをファイルとしてアクセスできるのは便利ですね。 それが黒い画面でも取得すれば便利という話。 あとはプロンプトに表示…

これまでshだと信じていたものがbashだった

sh

openSUSEやCentOSの場合 $ ls -la /bin/sh lrwxrwxrwx 1 root root 4 Mar 25 2013 /bin/sh -> bash shはbashのエイリアスだった. Mac OS Xの場合 $ ls -la /bin/sh -r-xr-xr-x 1 root wheel 1228304 Oct 23 13:59 /bin/sh 本物のsh(Bourne Shell)かと思いき…

ターミナルにドットを描画

LinuxなどのコンソールはANSIが制定した画面制御機能を使用することで,カーソルの移動や文字色・背景色を設定できる. 例えば"\033[${y};${x}f"をコンソールに出力することで(${x},${y})にカーソルを移動する. また"\033[$attr;${bg};${fg}m"を出力するこ…

ホスト毎にプロンプトを変える

sh

複数のマシンにログインすると,今どのマシンに居るかが把握しにくい. そこでプロンプトの色を,ホスト毎に変えてみる. .bashrsや.bash_profileに次を追加. host=`hostname -s` case $host in "host1") color="31";; "host2") color="32";; esac export P…

日本語シェル入門

sh

なでしこのような日本語プログラミング言語があるのなら,日本語シェルがあってもいいはずである. そんな日本語シェルのための入門編です. プロンプト まずシェルのプロンプトの設定です. デフォルトのままだとダサいので,ここは無線の応答みたいにして…

ソースコードをキレイにまとめるスクリプト SrC2TeX

sh

ソースツリーを.texファイルにまとめられるスクリプトSrC2TeX書きました.github.com このスクリプトにソースツリーを指定すると,一つの.texファイルを吐き出します.そこからPDFなりDVIなりに出力できます.サンプルはこんなかんじです time-1.7.pdf

ソースコードの総行数を取得する

sh

C++を例に,ソースツリーのルートディレクトリに移動して次のコマンドを実行するだけ find -regex ".*\.h\|.*\.cpp" | xargs wc -l | tail -n 1 気持ちよく1行で書けると脳内物質が出ているのを感じとれる

カウンタも剰余演算もないSleep FizzBuzz作ってみてpushしてみた

かなり前の記事,カウンタも剰余演算もないSleep FizzBuzz作ってみたをgithubにpushしてgist-itでembedしてみる.

Bashのプロンプトを不謹慎にする

Bashのプロンプトは自由に変えることができ,PS1という環境変数に設定できます.例えばDOSのプロンプトが好きな人は次の設定をするといいでしょう. export PS1="C:\> " 結果はこのようになります(※Unix系OSにはドライブレターはありません). 刺激が欲し…

カウンタも剰余演算もないSleep FizzBuzz作ってみた

かなり前にsleepによってソートするSleep Sortが話題を呼びました Genius sorting algorithm: Sleep sort 比較演算がないユニークなソートです今回はこれに影響されてSleep FizzBuzzを作ってみました sleepを使用するので剰余演算が必要ありません. そしてカ…