- 1 名前:名無しさん@お腹いっぱい。 [2008/02/11(月) 19:21:07 ]
- シェルスクリプトの総合スレです。
スクリプトのお勉強・自慢・腕試しなどにどうぞ。 まずは注意点、リンク、地鎮祭など(>>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 でトレースしましょう。 前スレ シェルスクリプト総合 その9 pc11.2ch.net/test/read.cgi/unix/1187130302/
- 361 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/19(水) 22:47:45 ]
- >>360
もっと短くなるよ。int宣言も無駄だね。 main(t){gettimeofday(&t,0);printf("%0d\n",1[&t]);}
- 362 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/19(水) 22:50:27 ]
- >>360
桁揃えは %06d じゃないのか?
- 363 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/19(水) 22:58:39 ]
- やべえ。こいつら正気じゃねえ。
- 364 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/19(水) 23:04:37 ]
- 日頃古いshへの移植性で争ってるスレとは思えない
- 365 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/19(水) 23:05:16 ]
- 改行はむしろ余計なのではないか?
- 366 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/19(水) 23:05:36 ]
- じゃあ、まとめるとこんな感じ?
↓ gccコンパイル込みでシェル関数にしたよ #!/bin/sh micro_sec() { echo 'main(t){gettimeofday(&t,0);printf("%06d\n",1[&t]);}'|gcc -xc - ./a.out; rm a.out } hoge=`micro_sec` echo $hoge
- 367 名前:名無しさん@お腹いっぱい。 [2008/03/20(木) 00:56:56 ]
- >>363 UNIX板は、やぱスゲーひといるよね
まだまだすごいことができるのだと思いますが Cも知りたくなってきたw
- 368 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/20(木) 01:44:52 ]
- スゲーんじゃなくて悪乗りしてるだけだと思うが
>>366 echo はいらんだろ?
- 369 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/20(木) 02:49:33 ]
- #!/usr/bin/tcc -run
#include <sys/time.h> void main(void) { struct timeval tv; gettimeofday(&tv, NULL); printf("%.6d\n", tv.tv_usec); }
- 370 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/20(木) 04:21:02 ]
- >>321
$ for m in `jot 10 0`; do echo -n $m; done 0123456789 jotも知らんとは>>321よ、なさけない。
- 371 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/20(木) 07:23:13 ]
- >>370
$ jot jot: command not found
- 372 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/20(木) 07:27:07 ]
- >>368
欲嫁。言いたいのはmicro_sec()の部分だけ。 下のechoとかはmicro_secの使い方の1例を挙げてるだけだろ。 直接表示なら micro_secを直接実行でいいし、 変数に入れたなら、変数に入っているという確認のためにechoしてるだけ。
- 373 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/20(木) 07:29:18 ]
- >>369
/usr/bin/tcc: command not found
- 374 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/20(木) 07:32:25 ]
- >>372
いや、そこではねくて
- 375 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/20(木) 07:37:35 ]
- >>374
シェル関数の中のechoは必要だろ。gccの標準入力に食わせるために。 echoなしでヒアドキュメント( << )でやる方法は 一時ファイルができるから美しくない。 ヒアドキュメントを使わずに、echoも使わない方法ってある?
- 376 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/20(木) 12:09:43 ]
- >>373
sudo aptitude install tcc
- 377 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/20(木) 12:26:21 ]
- >>376
sudo: command not found
- 378 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/20(木) 12:27:52 ]
- $ su
Enter password: su: password incorecct. $
- 379 名前:名無しさん@お腹いっぱい。 [2008/03/20(木) 14:52:56 ]
- なんかbashでcを組んでしまう勢いだなww
- 380 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/20(木) 17:18:16 ]
- >>366
まあジョークだろうからどうでもいいが、 現在時刻をミリ秒単位の精度で得るために まずその場でコンパイルを始めるってどういう設計だwww
- 381 名前:名無しさん@お腹いっぱい。 [2008/03/20(木) 21:28:00 ]
- tcc ってARM?
- 382 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 00:06:22 ]
- Tiny C Compiler
fabrice.bellard.free.fr/tcc/ TinyCC mailing list mail.freesoftware.fsf.org/mailman/listinfo/tinycc-devel Ubuntu packages.ubuntu.com/gutsy/tcc Debian packages.debian.org/etch/tcc RPM fr2.rpmfind.net/linux/rpm2html/search.php?query=tcc TinyCC Changelog fabrice.bellard.free.fr/tcc/changelog.html version 0.9.21: - ARM target support
- 383 名前:あ [2008/03/21(金) 09:28:07 ]
- 文字列のaからzを
for 変数 in リスト の形で表すにはどうしたらよいのでしょうか?
- 384 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 10:12:32 ]
- $ for i in `seq 97 122`; do printf '\x'`echo "obase=16;$i" | bc`; done
seqなければwhile + exprで
- 385 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 10:42:58 ]
- >>383
for i in `perl -le 'print for a..z'`; do echo $i; done
- 386 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 10:49:30 ]
- >>384-385 という冗談はさておき、シェルスクリプトとしてやるにはどうしたらよいのでしょうか?
- 387 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 10:52:03 ]
- bashなら
for i in {a..z}; do echo $i; done
- 388 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 10:55:41 ]
- >>386
シェルスクリプトだろ。冗談はよせよ。
- 389 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 10:57:05 ]
- まあ、perl使うのは反則だわな
- 390 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 11:00:08 ]
- for i in a b c d e f g h i j k l m n o p q r s t u v w x y z
- 391 名前:名無しさん@お腹いっぱい。 [2008/03/21(金) 11:02:45 ]
- >>387
動くのか?
- 392 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 11:03:07 ]
- ボーンなら、
for i in `bash -c 'echo {a..z}'`; do echo $i; done
- 393 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 11:04:04 ]
- >>391
動くだろ。bash3以降だけどな。
- 394 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 11:07:09 ]
- つーか元の要求がよくわからん。
- 395 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 11:17:07 ]
- どれも>>390これとそれほどタイプ数がかわらないという
- 396 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 11:32:31 ]
- yes ''|cat -n|head -122|tail -26|while read i; do printf "%o¥n" $i;done|while read o;do printf "¥¥$o¥n";done
すごく無駄なことをやった気がする。
- 397 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 11:37:14 ]
- for i in \
`echo 'main(c){for(c=97;c<123;c++)printf("%c ",c);}'|gcc -xc -;./a.out;rm a.out` do echo $i done
- 398 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 11:44:50 ]
- IOCCCみたいになってきたな
- 399 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 12:25:20 ]
- IOSSC International Obfuscated Shell Script Contest
- 400 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/21(金) 14:19:42 ]
- むしろIntranational
- 401 名前:名無しさん@お腹いっぱい。 [2008/03/23(日) 04:35:19 ]
- すんまそ
date を使って 20080322123456 年月日時分秒の書式でファイルを作りたい cmd 1 10000 第1引数 +n秒 (-1なら引く) 第2引数 第1引数を行ってm回繰り返す。 while (n<$2) do touch `date '+ expr $a'` a=a+$1 done みたいなことをしたいですが、どうすれば良いですか?
- 402 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 05:13:42 ]
- 誰か翻訳頼む
- 403 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 08:39:07 ]
- >>401
できたよ ↓ #!/bin/sh n=$1 i=1 while [ "$i" -le "$2" ]; do date +%Y%m%d%H%M%S -d "$n second" n=`expr "$n" + "$1"` i=`expr "$i" + 1` done ただし、GNU date必須。 補足: >>402 わからないなら黙ってろ
- 404 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 08:41:55 ]
- >>403 で動作(表示)確認してから、
date +%Y%m%d%H%M%S -d "$n second" を touch `date +%Y%m%d%H%M%S -d "$n second"` に直すとファイルが作れる。
- 405 名前:401 [2008/03/25(火) 01:16:11 ]
- ありがと
あしたやってみる。 感謝です。
- 406 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 23:05:33 ]
- GNU date必須なんて答で、恥ずかしくないの?
- 407 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 23:20:15 ]
- >>406
じゃ、お前、GNU date使わないバージョンの回答しろよな。
- 408 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 23:58:42 ]
- 恥ずかしいなら黙ってればいいのに。
- 409 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 09:43:59 ]
- >>406
そんなコト言い出したらきりがない。 相手の環境が分かっていて、そこに GNU date が無いなら酷いが 質問者はそんな情報出した? # なかったとしても「ぢゃGNU date 入れよ」ってなるかもシランがそれは知らん。
- 410 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 09:59:39 ]
- >>406
not speak, write scripts.
- 411 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 11:00:39 ]
- GNU date使わずにポータブルにやるなら、
awkあたり使った方がいい。 date +%Y%m%d%H%M%S -d "$n second" を、 awk 'BEGIN{print strftime("%Y%m%d%H%M%S", systime()+'$n')}' に書き直す。 >>406 答えられないなら黙ってろ。
- 412 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 11:37:03 ]
- >>411
それ、GNU awk必須だろw
- 413 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 12:13:04 ]
- 2chで他人に黙ってろとかいう奴にろくな奴はいない。
- 414 名前:名無しさん@お腹いっぱい。 [2008/03/26(水) 12:36:48 ]
- ひとつの解を出す分だけ、貴殿よりマシだと思う
- 415 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 12:51:58 ]
- 自分で設定した「ポータブルにやるなら」という問題に対して
出したものがポータブルじゃないのに解を出したことになるのだろうか。
- 416 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 14:23:46 ]
- まぁ>>406よりは随分マシw
- 417 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 14:51:14 ]
- これでどうだ。ポータブルだろw
#!/bin/sh my_date() { echo 'main(t,b){t=time(0)+'$1';strftime(&b,16,"%Y%m%d%H%M%S\n",localtime(&t));printf(&b);}' | gcc -xc - 2>/dev/null ./a.out; rm a.out } n=$1 i=1 while [ "$i" -le "$2" ]; do my_date "$n" n=`expr "$n" + "$1"` i=`expr "$i" + 1` done
- 418 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 14:56:56 ]
- おしいな。
gccのところがccなら。
- 419 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 15:01:06 ]
- >>418
ccにすると、「language optional software package not installed」って出て 動かないOSがあるから、gccの方がポータブル。 ~
- 420 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 16:48:33 ]
- strftimeのない昔のUNIXは切り捨て?
- 421 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 16:55:18 ]
- strftime()使わずに、struct tmの中身を直接printf()すればいいかな。
- 422 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 17:27:15 ]
- コード長くなっちゃうなぁ。
テストしやすいように、$1 $2 はデフォルトを入れるようにしておいた。 #!/bin/sh my_date() { echo ' #include <time.h> main(){struct tm *t;int i;i=time(0)+'$1';t=localtime(&i); printf("%04d%02d%02d%02d%02d%02d\n", t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec);} ' | gcc -xc - 2>/dev/null ./a.out; rm a.out } set ${1-5} ${2-3} n=$1 i=1 while [ "$i" -le "$2" ]; do my_date "$n" n=`expr "$n" + "$1"` i=`expr "$i" + 1` done
- 423 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 17:47:31 ]
- ネタひっぱりすぎ
- 424 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 00:31:20 ]
- 日付関係はperlでやらないか。結構古くても入ってるでしょ、perl。
- 425 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 03:21:18 ]
- 誰かshell scriptでDateTimeライブラリ書け。
- 426 名前:401 [2008/03/28(金) 05:18:13 ]
- できました。
ありがとう。 ひっぱって悪いですが>401の内容で 20080322123456FreeBSD 20080322123456NetBSD 20080322123456OpenBSD のように第3引数を「FreeBSD」のようにしてファイル名に付けたい です。 自分でやってみましたが touch `date +%Y%m%d%H%M%S -d "$n second" `$3 とか d=date +%Y%m%d%H%M%S -d "$n second" f=$d$3 touch `echo $f` としますが invalid argumentなど出ます。 この場合は、どうしたらいいですか。 gnu dateですた
- 427 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 06:54:01 ]
- >>426
> touch `date +%Y%m%d%H%M%S -d "$n second" `$3 ここで date がエラーを吐いているのなら n に値を代入し忘れている可能性が高い。 まず $n の値を確認しろ。
- 428 名前:401 [2008/03/28(金) 07:10:23 ]
- すみません。
家で、今確認しました。 >>426で touch `date +%Y%m%d%H%M%S -d "$n second" `$3 と書きましたが。 touch `date +%Y%m%d%H%M%S -d "$n second" $3` のようにしてエラーが出ていました。 $3の前後に「`」を移動する いま、>>426のようにしたら意図通りできました。 会社でもやってみます。 すんませーーーん
- 429 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 08:12:00 ]
- ここに来てる人、OSはUNIXだよね? (FreeBSDとかSolarisとか)
GNU dateって、わざわざインストールしてるの? まさか犬じゃないよね?
- 430 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 09:45:54 ]
- してる。
GNU testも、gwakも。 犬がどうしたとかそんな馬鹿な偏見はないから。
- 431 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 11:59:03 ]
- >>429
FreeBSDはUNIXなの?
- 432 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 12:25:21 ]
- FreeBSD=unixで良いじゃん。
別に定義の話をしてるわけじゃなし。
- 433 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 12:33:51 ]
- FreeBSDをUNIXに含めるんであれば
Linuxを含めない理由ないでしょ。
- 434 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 12:55:21 ]
- LinuxはLinux板という専用の隔離板があるので、
そちらに行けば良いと思います。
- 435 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 13:36:03 ]
- そうなればそうなるわな
- 436 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 15:15:13 ]
- UNIX でも通用するポータブルなスクリプトを知りたいならここだと思ってた。
- 437 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 15:43:48 ]
- じゃあ GNU date使っちゃ駄目じゃん。
- 438 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 02:50:31 ]
- AIX4ばっかりの仕事の俺に愛の手を!GNU系でもインストールなんて許されてねぇ
- 439 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 04:06:52 ]
- Cもだめってこと?
- 440 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 10:57:42 ]
- --prefix=$HOMEで入れちまえ、とかなんとか。
でもコンパイラも入ってなかったりするのさ。
- 441 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 11:19:10 ]
- というわけでGNU date必須の回答を出して悦に入るのは恥知らず。
- 442 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 11:19:14 ]
- だったらいまあるものでなんとかすればいいじゃない
- 443 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 11:21:33 ]
- 今回の場合、GNU以外のdateでは不可能。
- 444 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 13:18:57 ]
- dateというファイル名でperlで組めばお題は満足する。
安易に不可能とか言い切って恥ずかしくないの?
- 445 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 13:30:29 ]
- 一時、awkが有料のUNIXあったよな。
- 446 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 13:33:30 ]
- >>444
perlを使ったらシェルスクリプトじゃない。 perlが非標準のUNIXもある。
- 447 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 13:36:23 ]
- perlが入っていればそれでいいけどねー
- 448 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 13:45:27 ]
- >>446
おまえの脳内定義の「シェルスクリプト」で使用可能なコマンドを列挙しろ。 そしてそれ以外は認めないというスレを立ててそっちに行け。
- 449 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 13:52:40 ]
- >>444
じゃあ、perl使ってGNU dateそっくりのスクリプト書いてみろよ。 どうせそれもできないのに知ったかで言ってるんだろ。
- 450 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 13:53:09 ]
- まあ当該質問の環境でperlが使えるかは未知数だから…
- 451 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 14:07:54 ]
- autoconfが生成するconfigureって移植性は相当意識してるらしいね。
autoconfの本(紙の)読んだらいろいろクドクドかいてあった。
- 452 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 14:08:44 ]
- GNU dateの互換である必要は全く無い。
こんな単純な事に気付かなくて恥ずかしくないの?
- 453 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 14:17:19 ]
- 問題はそこじゃないから
- 454 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 14:30:54 ]
- うん、
> GNU date必須の回答を出して悦に入るのは恥知らず。 これに尽きるね。
- 455 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 15:03:37 ]
- >>452
GNU dateの互換である必要ないから、 回答例を1例でも挙げてみろよ。まだ1例も挙げてないじゃないか。 やっぱり知ったかなんだろ?
- 456 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 15:41:56 ]
- 別解を提示する事と
> GNU date必須の回答を出して悦に入るのは恥知らず。 は、独立という事に気付かないって恥ずかしくないの?
- 457 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 16:00:12 ]
- なんだ、やっぱり解答できないんだ。
- 458 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 16:49:25 ]
- 恥の上塗りしないで引っ込んでりゃいいのに。
- 459 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 18:30:19 ]
- GNU date が優秀なのは分かったから
それを使わないポータブルでエレガントな別解プリーズ
- 460 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 18:54:53 ]
- Perlだとこうか($nに秒単位の差分をいれてね)
perl -MPOSIX -le "print POSIX::strftime(q{%Y%m%d%H%M%S}, localtime($n+time))" これは未検証だがどうだろうか date -r $(expr $(date +%s) + $n) +%Y%m%d%H%M%S
- 461 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/29(土) 18:58:27 ]
- POSIX dateには-uしかなかったからこれはポータブルじゃないね
次の人お願い
|

|