Folioscope

At the touch of Tips, everyone becomes a Geek

Articles tagged 'sh'

  • 2016-10-24

    温かみある、手grep作った

    シェル芸人初心者や、grepコマンド使うより手動で選んだほうがいいという状況のために、手grepツール tegrep を作りました。 使い方 通常のgrepのようにパイプでつなげるだけです。 command1 | tegrep | command2 あるいはファイルから読み出すこともできます。 tegrep file tegrep は $EDITOR 環境変数を見ます。また $EDITOR がセットしていないときは edit コマンドが発動します。

  • 2015-12-07

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

    Shell Script Advent Calendar 2015 7日目の記事です。BashのちょっとしたTipsです。Bashに限らないかも知れませんが、検証環境がBashしかありませんでした。 問題 Bashで $(command) と書くと、commandがサブシェルで実行され、 stdout(標準出力)を変数に格納することができます. hoge_value=$(echo 'hoge') # hoge_value=> "hoge" ただしstderr(標準エラー出力)はキャプ...

  • 2015-11-05

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

    Bash用テストフレームワークに、Batsやshunit2がありますが、イケてないなーと思ってたら、気づいたら自分で作ってました。 テストの結果はモダンなテストフレームワークのように、カラフルに表示します。 またFAIL時は、FAILしたテストの結果を表示します。 自分の Arch Linux 上の Bash 4.3.42 および、Travis CI 上で動作することを確認しています。 インストール curl -o ~/bin/bashtub https://raw.githu...

  • 2015-04-01

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

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

  • 2015-02-28

    BashでChefっぽいこと

    photo by Éole Itamae便利説 Chefっぽいことと言っておきながら、軽量ChefのItamaeしか触ったことありません。 しかし便利ですよね。 Itamae - Infra as Code 現状確認会 // Speaker Deck しかしChefにせよ、itamaeにせよ、環境を入れないと使えません。 とくにローカルの環境を構築したいとき、Rubyの環境やらgemやらを入れる必要があるので、本末転倒感ある。 そこでBashのChefっぽいのを試作してみした。 Bach...

  • 2014-12-09

    VAIO Care for Linux

    VAIO Proが届いて3日、Linuxを入れて快適に作業できています。ArchWikiを見て知ったのですが、VAIO特有のいたわり充電などの機能ががLinuxでも使えるそうです。/sys/以下からアクセスできるあたり、ハードウェアかミドルウェアあたりで制御しているのでしょうか。どちらにせよWindows固有でのドライバではなさそうなので、Linuxからも制御できるみたいです。 ファイルを直接触ってもいいのですが、せっかくなのでリッチなdialogを区使った設定ツールを作りました。 英語がひ弱な...

  • 2014-11-13

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

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

  • 2013-11-29

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

    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)かと思いきや $ /bin/sh --version GNU bash, ve...

  • 2013-11-28

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

    LinuxなどのコンソールはANSIが制定した画面制御機能を使用することで,カーソルの移動や文字色・背景色を設定できる. 例えば"\033[${y};${x}f"をコンソールに出力することで(${x},${y})にカーソルを移動する. また"\033[$attr;${bg};${fg}m"を出力することで背景色,文字色をそれぞれ${bg},${fg}に設定できる. これらを組み合わせることで,ターミナルの任意の場所にドットを打つ関数を次のように実装できる. ## Put a pixel at (...

  • 2013-04-09

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

    複数のマシンにログインすると,今どのマシンに居るかが把握しにくい. そこでプロンプトの色を,ホスト毎に変えてみる. .bashrsや.bash_profileに次を追加. host=`hostname -s` case $host in "host1") color=31;; "host2") color=32;; esac export PS1="\[\033[1m\]\u@\[\033[${color};1m\]\h\[\033[m\]\[\033[1m\]:\W> ...

Page 1 of 2 >