[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 08/05 09:21 / Filesize : 196 KB / Number-of Response : 858
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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しかなかったからこれはポータブルじゃないね
次の人お願い






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<196KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef