たかまるの雑記

たまに更新

shell

bashで1時間前以降のmessagesを表示

作業をはじめた以降とか、スクリプトを実行した以降など いまから○○時間 or ○○分前以降のmessagesを確認したい、というときは こんな感じで表示している 1時間前以降のログを表示する(bash) starttime=$(LANG=C date +'%b %e %T' -d '1 hour ago') awk '$1…

Ubontoのviの配色を変更する

Ubontoのviのデフォルトの配色が見づらい。 特にコメント。 :colorschemeでカラースキームを設定できる。 個人的には↓が見やすいと思った。 elflord industry murphy ron ホームディレクトリに.vimrcをつくって設定すれば 自動的に設定されるようになる。 $ …

shでの数値の計算

shでは(( exp ))で計算できる $ a=100 $ a=$((a+1)) $ echo $a 101 $ 数字以外を指定するとエラーになる $ a=abc $ a=$((a+1)) sh: 2: Illegal number: abc $ echo $? 2 $ echo $a abc $ 計算を関数にした場合、数値以外を指定すると、 エラーになった箇所で…

bashで自分のファイル名をとる

bashのスクリプトで自分自身のファイル名を取得するときは BASH_SOURCE[0]をつかう。 sample1.sh #/bin/bash . $(dirname $0)/sample2.sh function f1 { f2 } f1 sample2.sh #!/bin/bash function f2 { echo $0 basename ${BASH_SOURCE[0]} } sample1.shを実…

シェルで関数のトレース表示(3)

トレース表示用の関数をつくることにした。 sample1.sh #!/usr/bin/ksh function f1 { echo f1 } function f2 { echo f2 f1 } sample2.sh . ./sample1.sh function f3 { echo f3 f2 } f3 トレースオプションつきで実行 $ ksh -x sample2.sh + . ./sample1.sh…

シェルで関数のトレース表示(2)

Ubuntoのtypeset -fx 関数名でトレース表示されない件はよくわからなかった。 set -xで関数もトレース表示されるから、 Ubuntoではset -xかsh -xで実行することにしよう。 Hp-UXは関数内にset -xがないとトレース表示されないから いままでは、読み込むファ…

シェルで関数のトレースを表示する

HP-UXのsh/kshで関数の中をトレース表示するには関数の中でset -xを設定する Ubuntuのbash/sh/kshでは関数の中でsetしなくても関数内がトレース表示される HP-UXのsh/kshでは、typeset -fx 関数名で、関数ごとにトレース出力のON/OFFを設定できる(set -xは…

標準出力と標準エラー出力を別の変数に入れる(2)

つづき takamaruo.hatenablog.com プロセス置換のつかえないshで、stdoutとstderrを別々の変数に入れる方法はあるのだろうか。 サンプル コマンド command() { echo "[-- stdout1 --]" echo "[-- stdout2 --]" echo "[-- stderr1 --]" >&2 echo "[-- stderr2…

シェルでコマンドの標準出力と標準エラー出力を別の変数に入れる

コマンドの標準出力と標準エラー出力を別々の変数に格納する サンプルのコマンド function command { echo "[-- stdout --]" echo "[-- stderr --]" >&2 return 3 } 1. 標準エラー出力をファイルに書く ファイルに書いてあとから読む方法は、 わかりやすいし…