タグ

ブックマーク / futuremix.org (2)

  • bash でカンマ区切り文字を split して変数に代入

    bash のシェルスクリプト内で、カンマ区切りテキストを分割して変数に入れたい場合。PerlPHP の split みたいな動作をさせる方法です。 IFS 変数に区切り文字をセットしたうえで set コマンドを使用します。 #!/bin/bash TEXT='AAA,hoge,2345' IFS=',' set -- $TEXT echo $1 echo $2 echo $3 set コマンドはタブや空白区切りの値を $1, $2, $3, ……に代入します。IFS を変更することによりカンマ区切りに対応できます。 もしくは tr コマンドでカンマを空白に置き換えて配列に代入します #!/bin/bash TEXT='BBB,データ,3456' arr=( `echo $TEXT | tr -s ',' ' '`) echo ${arr[0]} echo ${arr[1]} echo

  • Linux の at, batch コマンド

    Linux の at コマンドの使い方についてのまとめです。 1分後にスクリプトを実行 $ at -f hoge.sh now + 1min 指定時刻にスクリプトを実行 $ at -f hoge.sh 1:00 明日の午前10時に実行 $ at -f hoge.sh 10 am tomorrow 指定日の指定時刻に実行 $ at -f hoge.sh 6:15 feb 11 $ at -f hoge.sh 8 pm 2011-01-23 時刻の指定方法の詳細は、RHEL5 の場合、/usr/share/doc/at-<バージョン>/timespec ファイルに書かれていますが、わかりづらいです。 -v オプションで実行前に時刻を表示 $ at -f hoge.sh -v 1:30 atと似たコマンドに、負荷が下がった時にツールを実行する batchコマンドがあります。 $batch -f

  • 1