トップページunix
1001コメント351KB

シェルスクリプト総合 その16

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2010/02/20(土) 14:10:05
シェルスクリプトの総合スレです。 
スクリプトのお勉強・自慢・腕試しなどにどうぞ。 
まずは注意点、リンク、地鎮祭など(>>1-6くらい)をご覧ください。 

□お約束 
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。 
 bash/zsh/ksh/ashなどに依存する場合は明示しましょう。 
 Linuxユーザは/bin/shの正体がbashなので特に注意。 
 FreeBSDユーザは/bin/shの正体がashなので注意。 
 v7 shに一番近くて、現役のshは、OpenSolaris由来のheirloom sh。 
  http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/sh/ ;
  http://heirloom.sourceforge.net/sh.html ;
・csh/tcshのシェルスクリプトは推奨されません。 
 (理由は「csh-whynot」でググれ) 
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。 
 manや参考リンクを見ましょう。 
 aproposないしはman -kでそれらしい単語による簡単な検索もできます。 
・シェルスクリプトのことをシェルってゆーな 
・シェルで使えるワイルドカード等は正規表現ではありません。 
 正規表現の話題はスレ違い(正規表現スレへ) 

□初心者へのアドバイス: 
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも 
 RubyやPerlの方が適した仕事には素直にそちらを使いましょう。 
・知らないコマンドが出てきたらmanを引きましょう。 
・思い通りに動かないときは、まずは sh -x でトレースしましょう。 

前スレ 
シェルスクリプト総合 その15
http://pc12.2ch.net/test/read.cgi/unix/1246408968/l50
0542>>535-5362010/08/08(日) 21:52:07
>>541
レス有難う。
試しに、実行させたらとりあえず動いたんだが
tarの処理でエラーが出た・・・。

tar: 処理中にエラーが起きましたが、最後まで処理してからエラー終了させました

一応、圧縮は出来ているようだけど。

後、可能であればで良いのですが圧縮元を/home配下からではなく
abcフォルダ配下から圧縮出来ればベストなのですが。
一旦cdで/home/abcフォルダに移動しないとやっぱり駄目なのかな??
0543>>5352010/08/08(日) 22:09:46
少々問題が発生したけど、動いたのでスクリプトを整理します。

#!/bin/sh

BACKUPLIST=/home/genki/backup/sample.lst
FIND=`find $(<$BACKUPLIST) -type f -daystart -atime +7`
tar cvzf `date +%Y%m%d`.tar.gz $FIND && rm $FIND

tarの際、全角ペースが入っているファイルがエラーになってバックアップ
取れなかった以外は、ほぼ思っている処理が出来ました。

tar: ドキュメント.txt: stat 不能: そのようなファイルやディレクトリはありません
tar: 処理中にエラーが起きましたが、最後まで処理してからエラー終了させました

本来なら、新規 ドキュメント.txt と言うファイルがあるのだけど・・・。
■ このスレッドは過去ログ倉庫に格納されています