shell
node.jsをインストール・設定している時に気がついたのですが、いつのころからか、sudoを使用する時の環境変数PATHが引き継がれないようです。 調べてみると、いくつかの対応方法があるようです。 aliasで対応する方法 alias sudo="sudo env PATH=$PATH" /et…
基本的なbashの話。bashは、aliasに引数を持たすことはできない。変わりにfunctionを使う。 function f(){ for i in `seq 1 $1`;do echo $i done }使い方は、こんな感じ。 $ f 5 1 2 3 4 5このfunctionを.bashrcなり何なりに記述しておけば、いつでも使える…
shellばかりいじっているから、最近、shellネタばかりです。shell上での日付比較は、秒に置き換えてやると、手っ取り早いです。 # 0 : 同一日時 # 1 : $1 の方が新しい日付 # 2 : $2 の方が新しい日付 function datecheck() { dt1=`date -d "$1" '+%s'` dt2=…
kill コマンドを発行する時の「終了しました」が非常に邪魔だったので、消す方法がないか調べていたら、これで簡単に消せた。 pid=`sh -c 'hoge & echo $!'` kill $pid
これは便利な使い方と思ったので、メモshell 内の function で、文字列は返せません。テクニックとして、echoを使ったり、shell変数とかを使って橋渡したりするのですが、いつもスマートじゃないと思っていました。そんなとき、evalを使用して文字列を返す方…
いつもすぐ忘れてしまうのでメモということで。 $cat test.sh #!/bin/sh fpath=/var/www/html/index.html bname=${fpath##*/} fname=${bname%.*} ename=${bname##*.} echo $fname.$ename実行結果 $ ./test.sh index.html