タグのついた記事 bash

シェルスクリプトの基本その3

echo “word” >> filedir/file

fileの最後の行にwordという文字を挿入することが出来る

echo “word” > filedir/file

fileのテキストを全部消去した上で、一番先頭にwordという文字を挿入することが出来る

コマンドの結果を変数に代入する方法

そんなことも出来るらしい。

サンプルコードは以下。
#!/bin/sh
HOSTNAME=`hostname`
echo $HOSTNAME

つまりバッククォートで囲む。

help = `echo “help” | grub`
echo “help”

きちんと出力されることを確認。

コメントを書く

crontabがうまく動いてくれないと思ったら

シェルスクリプトのパーミッションが644だったのが原因だった

755にして正しく動作

AHOKA.

コメントを書く

CentOSでのcpはcp -iのエイリアスとなっている

cpを何のオプションも付けずに実行して上書きが発生した場合、何の確認も取らないのが本来の動作なのだが、CentOSの場合は確認を取るためのオプション-iがデフォルトでついてくる。

これを一時的に無効化したい場合は、\をcpの前に付けて実行すれば確認を取らなくなる。

例:\cp foo bar

コメントを書く

シェルスクリプトの基本その2

http://chaichan.web.infoseek.co.jp/src/BSH.htm#B07

foo=”bar”
foo2=”bar2″
を連結させたいときは$foo$foo2と書けば良いが、変数ではない文字列が混じるときはどうするか。

A.”(シングルクオーテーション)で囲む
$foo$foo2′foo3′ みたいな。

コメントを書く

CentOSでUSBメモリをマウントするにも一苦労

http://kajuhome.com/tips/tips_00_003.shtml

  1. dmesg コマンド実行
  2. それっぽいやつを見つけてfoo:barのbarの部分を覚えておく(うちの環境ではたいていsdc1)
  3. mkdir /mnt/flash みたいな感じで適当にディレクトリを作る
  4. mount -t vfat /dev/bar /mnt/flash みたいな感じにマウント
  5. ls -l /mnt/flash で確認

コメントを書く

シェルスクリプトとcronについて

初めて触ったので。

シェルスクリプトの基本

  1. #!/bin/sh を最初に書く
  2. 拡張子を.sh、パーミッション755、動作ユーザーにも気を遣い保存する
  3. ファイル名をそのまま指定して実行
  4. 変数定義はfoo=”bar”といったかんじ
  5. 呼び出すときはphpのように$を先頭につける
  6. echo $userpass | passwd $username –stdin こんな感じで対話型の処理にも対応できる

cronの基本

  1. cronを回したいユーザーでcrontab -eを実行する
  2. (例えば5分おきなら)*/5 * * * * hoge.sh と書き込む(ここで動作ユーザー名を指定することも可能)
  3. 確認したい場合はcrontab -l crontabファイルをそのままviで編集するのはあまりよろしくない

コメントを書く