シェルスクリプト総合 その6
■ このスレッドは過去ログ倉庫に格納されています
0001うはwwwww
2006/03/26(日) 00:56:22スクリプトのお勉強・自慢・腕試しなどにどうぞ。
まずは注意点、リンク、地鎮祭など(>>1-6くらい)をご覧ください。
□お約束
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。
bash/zsh/ksh/ashなどに依存する場合は明示しましょう。
Linuxユーザは/bin/shの正体がbashなので特に注意。
・csh/tcshのシェルスクリプトは推奨されません。
(理由は「csh-whynot」でググれ)
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。
manや参考リンクを見ましょう。
aproposないしはman -kでそれらしい単語による簡単な検索もできます。
・シェルスクリプトのことをシェルってゆーな
・シェルで使えるワイルドカード等は正規表現ではありません。
正規表現の話題はスレ違い(正規表現スレへ)
□初心者へのアドバイス:
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
RubyやPerlの方が適した仕事には素直にそちらを使いましょう。
・知らないコマンドが出てきたらmanを引きましょう。
・思い通りに動かないときは、まずは sh -x でトレースしましょう。
0825名無しさん@お腹いっぱい。
2006/07/25(火) 16:35:46私にshellを作れといわれて苦労している45才です。教えてください。
問題が、日付を手入力したときに正常な日付かどうかと、うるう年の計算
方法です。たとえば20051313はエラーですが20060220は正常ですよね。そのときに
曜日も表示したいのでやり方をすいませんがはじめから詳しく教えてください。
すいませんが、お願いします。
0826名無しさん@お腹いっぱい。
2006/07/25(火) 16:42:210827名無しさん@お腹いっぱい。
2006/07/25(火) 16:45:460828名無しさん@お腹いっぱい。
2006/07/25(火) 16:59:350829名無しさん@お腹いっぱい。
2006/07/25(火) 19:39:01シェルスクリプトで日付計算やってるのを数箇所で見て、げんなり。
どうしてもやりたいなら自前で演算するんじゃなくて、
ダミーファイルをtouchするとか、外部でPerlでもよんでほしい。
0830名無しさん@お腹いっぱい。
2006/07/25(火) 20:18:080831名無しさん@お腹いっぱい。
2006/07/25(火) 21:26:13してくれる。数字8桁はさすがに食ってくれないようだが、ちょいと/を付け足して食わせりゃ
出来上がりだ。
0832名無しさん@お腹いっぱい。
2006/07/25(火) 21:34:06↓
$ date -d 20060230
Thu Mar 2 00:00:00 JST 2006
数字8桁でもそのまま日付として食ってくれるが、
2月30日はご丁寧にも3月2日として解釈してくれる。
ま、これも、
if [ `date -d 20060230 +%Y%m%d` = 20060230 ]; then
とかでチェックすれば済むことだな。
それより、>>825 はコピペだから詳しくは答えてあげない。
めでたくリストラされてください。
あ、もし自宅が借り上げ社宅なら、リストラ前に個人契約に変更しといた方がいいよ。
リストラ後だと保証人とかの問題で部屋が借りにくくなるから。
0833名無しさん@お腹いっぱい。
2006/07/25(火) 23:30:410834名無しさん@お腹いっぱい。
2006/07/26(水) 11:13:090835名無しさん@お腹いっぱい。
2006/07/26(水) 12:02:440836名無しさん@お腹いっぱい。
2006/07/26(水) 12:19:540837名無しさん@お腹いっぱい。
2006/07/26(水) 12:25:09あと、日付の正当性チェックは閏年、大小の月で case文あたりで場合わけ判断と。
とは言っても、シェルスクリプト自体超初心者の >>825 には無理。
リストラされろ。
0838名無しさん@お腹いっぱい。
2006/07/26(水) 13:00:24>>407-413
■ このスレッドは過去ログ倉庫に格納されています