トップページunix
985コメント289KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2007/02/15(木) 14:28:44
シェルスクリプトの総合スレです。
スクリプトのお勉強・自慢・腕試しなどにどうぞ。
まずは注意点、リンク、地鎮祭など(>>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 でトレースしましょう。

前スレ
シェルスクリプト総合 その7
http://pc10.2ch.net/test/read.cgi/unix/1157601611/
0590名無しさん@お腹いっぱい。2007/06/08(金) 23:03:06
>>589
ありがとうございます!
0591名無しさん@お腹いっぱい。2007/06/08(金) 23:37:42
GNU sedは正規表現のエスケープまわりが腐ってるんだよなあ
それに、わざわざBourne Shellに縛ったスレなのに、GNU拡張に依存するのもどうかと思う
ポータビリティも勘案すると、perl使った方がいい
0592名無しさん@お腹いっぱい。2007/06/09(土) 10:18:52
GNU grepの-oは便利
0593名無しさん@お腹いっぱい。2007/06/09(土) 11:53:54
>>592
モレも-Po がマジ便利だと思う。
0594名無しさん@お腹いっぱい。2007/06/09(土) 12:23:49
それを言ったらshよりzshのが便利だ
0595名無しさん@お腹いっぱい。2007/06/09(土) 12:49:24
そうだよ
0596名無しさん@お腹いっぱい。2007/06/09(土) 14:42:53
FreeBSDよりWIndowsのが便利だ
0597名無しさん@お腹いっぱい。2007/06/09(土) 14:54:08
当たり前だろ
0598名無しさん@お腹いっぱい。2007/06/09(土) 15:01:51
perlの書法がもっと自由度低かったら決定版たったのだが。
お行儀悪く書けてしまうのが悩みの種
0599名無しさん@お腹いっぱい。2007/06/10(日) 01:08:21
お行儀良く書きたいならRubyなりPythonなりへ行けば良い
お行儀悪く書いても心が痛まないのがPerlの長所
0600名無しさん@お腹いっぱい。2007/06/10(日) 01:10:39
use strict; するんだからそれほどひどいコードにはならないような
0601名無しさん@お腹いっぱい。2007/06/10(日) 22:37:24
どーせワンライナーか数行でやれるようなのしかPerlで書かないから
どうでもいい
0602名無しさん@お腹いっぱい。2007/06/15(金) 02:31:42
cshを勉強し始めたものです。
研究室で使うためです。
C言語もほとんど知らないので、取っ付きにくく、苦労してます。

今よく分からないのは、シェル変数と環境変数です。
普通に話に出てくるのですが、変数だとは理解してますが、違いが分かりません…

どなたか教えて頂けませんか?
0603名無しさん@お腹いっぱい。2007/06/15(金) 02:41:57
シェル変数はシェルが使う
環境変数は(主に)呼び出されたコマンドが使う

それはいいとして、なんでcshかちゃんと確認しろ
csh使う必然性がなければ、shにしとけ
0604名無しさん@お腹いっぱい。2007/06/15(金) 03:12:03
環境変数は子プロセスに引き継がれる。
シェル変数はそのシェルのみが使い、
子プロセスに引き継がれない。
06056022007/06/16(土) 01:09:53
レス有り難うございます。

なぜcshなのかと言うと、 今研究室で使われてるのがcshだとしか…

Cで書かれたソースプログラムをcshに渡して、
結果を他のプログラムに渡して……
って感じらしいです。

まだ学部なので、難しいプログラムは書けず、
既成のプログラムの値を変えて走らせたりするようです。

最近の課題が、あるcshの中身を渡され、理解してくるものでしたが、
プログラムの知識が無い自分にはさっぱりというわけです…

0606名無しさん@お腹いっぱい。2007/06/16(土) 01:58:47
そんなに何種類もcshがあるのか?
0607名無しさん@お腹いっぱい。2007/06/16(土) 03:31:44
cshで書かれたシェルスクリプトってとこじゃないか?
0608名無しさん@お腹いっぱい。2007/06/16(土) 15:17:35
いや、cshの中身だぞ?
0609名無しさん@お腹いっぱい。2007/06/16(土) 15:47:46
とりあえず>>605よ、
cshの中身というのはcshスクリプトという意味か?
0610名無しさん@お腹いっぱい。2007/06/16(土) 16:11:27
こらこら、cshの話はもう終り。禁止。
0611名無しさん@お腹いっぱい。2007/06/16(土) 16:53:10
GNU grepの話をしてもいいなら、cshも良くないか
0612名無しさん@お腹いっぱい。2007/06/16(土) 18:01:05
良くない。
0613名無しさん@お腹いっぱい。2007/06/16(土) 18:02:26
シェルスクリプトのスレでシェルのソースコードの話かぁ……
0614名無しさん@お腹いっぱい。2007/06/16(土) 19:35:05
質問です。

ファイルの内容が同じものをリストアップする目的で、
対象ファイルのmd5sumを計算したいと考えています。
ただし、ファイルが大きいと時間がかかってしまうので、まずはファイル頭の
512バイトだけでmd5sumしたいです。以下のようなものを書いたのですが、
ファイル数が多い(1000とか)とプロセスの起動がボトルネックになってしまう
ようで、遅いです。

while read -r filename
do
dd if="${filename}" ibs=512 count=1 2> /dev/null | md5sum >> output
done < ${tempfile_prefix}2_filesize_onajiyatu

md5sumに先頭から512バイトだけで計算しろと指示することはできますか?
もしくは何かいい案ありますでしょうか?

0615名無しさん@お腹いっぱい。2007/06/16(土) 19:45:20
えろ画の整理スクリプトかよ
0616名無しさん@お腹いっぱい。2007/06/16(土) 19:49:09
違います。
エロ動画です。
だからでかいのです。
0617名無しさん@お腹いっぱい。2007/06/16(土) 19:52:32
>>614
プロセス起動がネックならperlとかpythonとかrubyとか好きなのでやれ。
0618名無しさん@お腹いっぱい。2007/06/16(土) 19:53:08
>>614
perl を使う
0619名無しさん@お腹いっぱい。2007/06/16(土) 20:02:27
まずはファイルサイズで比較すればいいのに
0620名無しさん@お腹いっぱい。2007/06/16(土) 20:11:47
粗く分けるのにmd5なんか使わんでも。
>>619 の通りファイルサイズが手軽だし、もし同じサイズで内容が違うものが
沢山ならファイル中の適当なところをhexdumpでもいいんじゃないの。
0621名無しさん@お腹いっぱい。2007/06/16(土) 20:37:43
横から済まぬが

>>619,620

>> ${tempfile_prefix}2_filesize_onajiyatu

って書いてあるから、そもそも同じサイズ限定ではないのか?
0622名無しさん@お腹いっぱい。2007/06/16(土) 20:40:36
同じファイルサイズのものだけでも1000ファイルもあるって、
結構集めまくったね、絵炉動画をw
0623名無しさん@お腹いっぱい。2007/06/16(土) 21:03:28

>617,618
perlか・・・ついに手を出すときが来たか

>619,621
失礼しました。サイズ比較をあらかじめこんなのでやってます。
ls -l "$@" | sed 's/ \+/ /g' | cut -d ' ' -f 5,8 > ${tempfile_prefix}1_filesize_all
awk '{ if(a[$1,0]==0){a[$1,0]=1;a[$1,1]=$0;} else{if(a[$1,0]==1){print a[$1,1];} a[$1,0]++;print $0;} }' \
${tempfile_prefix}1_filesize_all > ${tempfile_prefix}2_filesize_onajiyatu

>620
ためしに512byteのgomi.txtを作ってみて、以下試しました。
%time (for i in `seq 1 1000`; do cat gomi.txt > /dev/null 2>&1 ; done;)
-> 1.486sec
%time (for i in `seq 1 1000`; do md5sum gomi.txt > /dev/null 2>&1 ; done;)
-> 1.510sec
これくらいのサイズだと処理内容はあまり影響なさそうです。
md5sumの方が比較しやすかったのです。

>622
いやいや、得ろ動画とか1000個とか例えばの話ですよw
0624名無しさん@お腹いっぱい。2007/06/17(日) 00:32:06
>>614
まずは、ファイルサイズではじいたら?
0625名無しさん@お腹いっぱい。2007/06/17(日) 00:34:24
すまん。@bitwarpなもんで、更新漏れだった。
忘れてくれ
0626名無しさん@お腹いっぱい。2007/06/17(日) 03:14:21
xargsでもつかえば?
0627名無しさん@お腹いっぱい。2007/06/17(日) 04:00:08
気が向いたんでやってみた

$ time (for f in tmp/*; do dd if=$f bs=512 count=1 2>/dev/null | md5sum; done)
065d30715dcffa21596406373a9124ac -
...中略...
ed4cf7b8f209f9ce630b5e76219357ae -
(; for f in Desktop/*(.); do; dd if=$f bs=512 count=1 2> /dev/null | md5sum; ) 0.09s user 0.38s system 49% cpu 0.960 total

$ time perl -M'Digest::MD5(md5_hex)' -e 'for (@ARGV) { open F,"<$_"; read F,$a,512; print md5_hex($a),"¥n" }' tmp/*
065d30715dcffa21596406373a9124ac
...中略...
ed4cf7b8f209f9ce630b5e76219357ae
perl -M'Digest::MD5(md5_hex)' -e Desktop/*(.) 0.02s user 0.02s system 18% cpu 0.193 total
0628名無しさん@お腹いっぱい。2007/06/17(日) 17:51:50
xargs使えって
0629名無しさん@お腹いっぱい。2007/06/17(日) 20:19:20
絵炉動画ファイルは、ファイル名にスペースとか特殊記号とか入りまくりである
ことが多いため、xargsは全く持って不適当。
0630名無しさん@お腹いっぱい。2007/06/17(日) 21:13:28
それならfor文やreadでも難しくならないか・・
まxargsのほうがもっと不適当なのだろうが
0631名無しさん@お腹いっぱい。2007/06/17(日) 21:16:22
>>629
man xargs
0632名無しさん@お腹いっぱい。2007/06/17(日) 21:24:09
>>631 は何がしたいんだろうか? まったく外してるわけだが、、
0633名無しさん@お腹いっぱい。2007/06/17(日) 21:26:16
>>631
$ ssh solarishost man xargs
0634名無しさん@お腹いっぱい。2007/06/17(日) 21:33:38
ファイル名の問題以前に、個々のファイルごとに頭の512バイトを切り出したいわけ
だから、xargs使ったところでプロセス起動数は節約できない。
よって、>>626 >>628 は全く的はずれ。
0635名無しさん@お腹いっぱい。2007/06/17(日) 21:34:10
>>632
はずしているのはお前の方。

find 〜 -print0 | xargs --null
0636名無しさん@お腹いっぱい。2007/06/17(日) 21:47:33
>>635
はずしているのはお前の方。

-print0 や xargs --null は、一般には使えない。(たとえばSolaris)

あと、>>634 が指摘してるように、今回の件は xargsでは解決しない。

よって、そういう意味でも外しているのは >>635 の方。
0637名無しさん@お腹いっぱい。2007/06/17(日) 22:10:53
-print0で喜んでるのは石器人。
現代人はふつー find ... -exec ... +
0638名無しさん@お腹いっぱい。2007/06/17(日) 22:21:02
>>632 から某頭の悪い粘着君臭がする。
0639名無しさん@お腹いっぱい。2007/06/17(日) 23:03:19
て言うか、プロセス起動数が云々と言うなら md5sum を改造するなり、
ファイル名の取得からハッシュの計算までやるようなアプリ作ればい
いじゃん。
0640名無しさん@お腹いっぱい。2007/06/17(日) 23:14:55
>>617-618で既に正答が出てるの何を今更…
0641名無しさん@お腹いっぱい。2007/06/18(月) 00:13:31
答えそのものも>627に出てるわけだが...
0642名無しさん@お腹いっぱい。2007/06/18(月) 00:36:28
#find ... -exec ... +
横レスだが知らなかった
ってか手元のmanにはない
0643名無しさん@お腹いっぱい。2007/06/18(月) 03:34:11
最後の「+」ってなに?
0644名無しさん@お腹いっぱい。2007/06/18(月) 08:19:20
xargsは同じプロセスを連続起動するから
工夫されていると聞いたことがある。
これは事実?
0645名無しさん@お腹いっぱい。2007/06/18(月) 15:14:11
基礎的な質問ですいません。

bashで、シェル変数に値を突っ込み -zで存在を確認する手法ですが、

if [ -z $test ] ; then
 echo "val exist"
else
 echo "val isn't exist"


質問
1.[ -z $test ] と書くのはよろしくない?
2.[ -e $test ] とすると、シェル変数が存在しない時に真、
  シェル変数が存在する時に偽となるのはなぜ?


結構、このパターンで利用してたのですが、2.の動作を確認すると、
なぜだか逆になっているような。じゃ、-zもよろしくないのかなぁ、と

ところで、みなさんは、環境変数やシェル変数の存在確認をどうやってますか?
宜しくお願いします。
0646名無しさん@お腹いっぱい。2007/06/18(月) 15:23:43
>>645
まず、[ ] の中ではシェル変数は基本的にダブルクォートを付けること。

[ -z "$test" ] とする。この場合、$testがセットされていれば偽になる。
これだと真偽が逆になってわかりにくいので、
[ -n "$test" ] または -n は省略できるので [ "$test" ] とする。

[ -e $test ] は、$testがセットされていない時、[ -e ] となってしまい、
これは、"-e" という文字列がサイズゼロかどうか(この場合は2バイト)という
判定がなされるため、$testがセットされていないと真になる。
一方、$testがセットされていると、今度は -e は -eオプションとして解釈され、
$testの中身がファイル名とみなされるため、そんなファイルがなければ偽になる。

更に言うと、-e は Bourne shでは使えないため非推奨。
0647名無しさん@お腹いっぱい。2007/06/18(月) 15:39:39
>>646
ありがとうございます。
うーーん、なるほど。1行目でよく分かりました。
0648名無しさん@お腹いっぱい。2007/06/18(月) 16:11:12
丁寧に説明してもらった理由を理解したのかしてないのかよくわからん回答だな
0649名無しさん@お腹いっぱい。2007/06/18(月) 16:12:07
このあたりものこともあって zsh で手抜きスクリプト書くことが多くなった
0650名無しさん@お腹いっぱい。2007/06/18(月) 16:24:47
>>648
舌足らずですみません。
1行目で自分の間違いを気付き、
詳しい説明をしていただいたので助かりました、と書きたかったところでした。

-eオプションの非推奨コメントは特に助かります。
0651名無しさん@お腹いっぱい。2007/06/18(月) 21:09:56
      ______
    /          )))
   /   /// /―――-ミ
   / 彡彡 // /      ヽ))
   / 彡彡 iiiiiiiiiiiiiii  iiiiiiiiii|
   / 彡彡 < ・ > 、<・ >l
  /    |       ヽ   〉
  /  ( | |      __)  |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  /   | ≡  /, ―――  |ゝ < 馬鹿共にshellを与えるな!
  /   |   |  L ___」 l ヾ  \_________
_ミ  l   ______ノ ゞ_
  |  l ヾ    ー   / |  l
  |  |   \ー    ‐/  |  |
0652名無しさん@お腹いっぱい。2007/06/19(火) 08:10:33
>>646

>>更に言うと、-e は Bourne shでは使えないため非推奨。

?????

0653名無しさん@お腹いっぱい。2007/06/19(火) 08:30:50
>>652
教えて欲しいんなら「???」じゃなくて、ちゃんと日本語で書け。初心者君。
0654名無しさん@お腹いっぱい。2007/06/19(火) 09:19:43
ところで-eがないshが標準で載ってるOSってどれ?
0655名無しさん@お腹いっぱい。2007/06/19(火) 09:36:14
Solarisとか。SCOとか。Tru64とか。
0656名無しさん@お腹いっぱい。2007/06/19(火) 11:36:15
>>655
今では使われていないOSばかりですね。じゃあ、-e使ってもいいですねw
0657名無しさん@お腹いっぱい。2007/06/19(火) 11:45:45
つっ、釣られないぞ
0658名無しさん@お腹いっぱい。2007/06/19(火) 13:41:51
>>653
では日本語で書かせていただきます。
私が学習に使用している O'REILLY の「詳解シェルスクリプト」によりますと、
/bin/sh 組込の test コマンドに於ける -e 表現は標準的なものとして記述され
POSIX で定義している旨明記されております。また更に今回の議題の発端である
>>645 質問子の環境と共通する bash 等での独自の拡張に付いて記述した件では、
条件判定構文中の -a 演算子について(非推奨です。 -e を使いましょう)
とまで明記されているものを、使用者の環境の多用性や使用目的の別など勘案せず
一言の下に「非推奨」と断定できる根拠を教えてください。 お願いします。
0659646じゃないけど2007/06/19(火) 13:47:32
>>658
「Bourne shでは使えないため」って書いてあるじゃん。
それが重要かどうかは各自が判断すればいいこと。
0660名無しさん@お腹いっぱい。2007/06/19(火) 13:51:15
>>658
POSIXは理想論ばかりで、現実に即してないんだよ。
いくらPOSIXでどうこう言っても、実際に動くかどうかがすべて。
test -e については、Solarisの/bin/shで動かないんだから、
OS共通のシェルスクリプトでは非推奨であるのは当然。

あと、別件で、-e の意味で -aを使ってはいけない(非推奨)なのはその通りだよ。
-a は別に ANDの演算子の意味があって、そちらの意味で使うべきだからね。

わかったら、今後は -e を使うなよ。今まで書いたシェルスクリプトで
-e を使ってるのがあったら、気づき次第直しとけよ。
06616582007/06/19(火) 14:12:59
予想通りの回答をどうもありがとうございました。

>>わかったら、今後は -e を使うなよ。今まで書いたシェルスクリプトで
-e を使ってるのがあったら、気づき次第直しとけよ。

ご心配有り難うございます。
そもそも機能が曖昧過ぎて過ぎて使おうと思ったことも御座いませんw
0662名無しさん@お腹いっぱい。2007/06/19(火) 14:15:20
予想してたなら聞く必要ないだろ……。
むだに波風立てんなよ。
0663名無しさん@お腹いっぱい。2007/06/19(火) 22:13:27
シェルスクリプトの互換性過敏症な奴っていじると面白いんだよ
0664名無しさん@お腹いっぱい。2007/06/19(火) 23:22:07
ここにもユトラーか・・・・
0665名無しさん@お腹いっぱい。2007/06/19(火) 23:28:40
>>663
export LANG=C とか書いてるのを見ると反応してしまうのは互換性過敏症ですか?
0666名無しさん@お腹いっぱい。2007/06/19(火) 23:56:18
いや寧ろ互換性を指摘できる人がいて有難い
0667名無しさん@お腹いっぱい。2007/06/20(水) 00:19:14
そんなこといって年寄りほめたらわらわらわいてくるぞ。
SunOS 3.5世代の俺なんかまだまだ甘ちゃんだ。
0668名無しさん@お腹いっぱい。2007/06/20(水) 05:31:28
沸いてきてくれ
それぞUNIXの面白さの真髄だわ
0669名無しさん@お腹いっぱい。2007/06/20(水) 09:12:11
仕事では一緒になりたくねえけどなw
0670名無しさん@お腹いっぱい。2007/06/20(水) 21:45:49
ようするに、 POSIX が理想論で現実に即していないのは当然の話で、
現実がバラバラだから標準化が必要という理念が生まれたわけですわな。

で、各プラットフォームでそれぞれ POSIX に準拠する姿勢を示していながら
どうしても譲れない仕様への拘りがあるから未だに移植性の問題が取沙汰される。

そこの処の理を語らずに、只単に○○では使える or 使えないという議論に
終始するというのは如何にも思慮が浅いと言わざるを得まい。
0671名無しさん@お腹いっぱい。2007/06/20(水) 22:08:39
実社会ではそういうもんだ
0672名無しさん@お腹いっぱい。2007/06/20(水) 23:20:26
携帯電話みたいなものだね
いまだに携帯電話つかわないもうろくジジイとかいるかなw
0673名無しさん@お腹いっぱい。2007/06/21(木) 01:34:39
じじいじゃないけど使ってないよ。
0674名無しさん@お腹いっぱい。2007/06/21(木) 01:36:56
うわw
0675名無しさん@お腹いっぱい。2007/06/21(木) 01:38:49
携帯電話使わない仕事というと、医者とかパイロットくらいか
0676名無しさん@お腹いっぱい。2007/06/21(木) 01:53:54
というか、どこが「携帯電話みたいなもの」なのかさっぱりわからん。
0677名無しさん@お腹いっぱい。2007/06/21(木) 03:01:35
痴呆がはじまった?
0678名無しさん@お腹いっぱい。2007/06/21(木) 23:19:43
>>670
こだわりなんかないだろ、準拠するのが面倒なだけだよ。

準拠したからって売れ行きがたいして変わるわけでもないし。

>>675
院内では携帯は使わないけど緊急呼び出しが頻繁にあるような
医者もいるからなぁ。

パイロットは仕事中は使わないけど、そういう意味なら電車の
運転手なんかも同じだな。

て言うか、仕事中とか会社の中に限定すると携帯持たない/持て
ない奴はそれなりにいるし。
0679名無しさん@お腹いっぱい。2007/06/22(金) 00:04:29
ケータイでも3G(高周波のやつ)は大丈夫らしいけど。
0680名無しさん@お腹いっぱい。2007/06/22(金) 09:16:46
使えない奴にかぎって、くだらねえことに拘ってたりする
0681名無しさん@お腹いっぱい。2007/06/22(金) 20:12:44
そろそろUNIXの話にでも戻す?
0682名無しさん@お腹いっぱい。2007/06/22(金) 20:59:20
よしなに
0683名無しさん@お腹いっぱい。2007/06/22(金) 23:11:19
>>678
>>準拠したからって売れ行きがたいして変わるわけでもないし。

売行きが変わらないからって騒ぐこともないでしょ。
拘りがなければ準拠する方がはるかに楽なのにねぇ

あくまで /bin/sh 標準なのは基本であって、実勢はケースバイケースで、
linux じゃ bash 標準だろうし、 solaris だって適宜 ksh なり使うだろうし、
パーソナルユースや $HOME/bin 限定使用とか、管理者でも同一プラット
ホームだけでの運用が多く、移植性のプライオリティーがさほど高くない
現況において、やいのやいのいう奴は要するに「言いたいだけ」ちゃうんかと。
0684名無しさん@お腹いっぱい。2007/06/22(金) 23:53:48
> 拘りがなければ準拠する方がはるかに楽なのにねぇ

何が楽なのか詳しく書いて欲しいんだが。

商用ソフトってちょっと変えると、検証がスゲー大変なことぐらいは知ってるよな?
0685名無しさん@お腹いっぱい。2007/06/23(土) 00:08:17
楽しいもの見つけてしまった。

http://sed.sourceforge.net/sed1line.txt
http://www.student.northpark.edu/pemente/awk/awk1line.txt

組込みで使っているLinuxにgrepが入ってなくて
sedでシミュレートしたスクリプト書いたんだけど、
それ以上のことがいろいろできそうな感じなり。


おまけ

http://www.fepus.net/ruby1line.txt
0686名無しさん@お腹いっぱい。2007/06/23(土) 00:11:08
>>683
Solarisは古いshとkshを選択できるからいいけど、
HP-UXとかAIXは/bin/shはkshそのもなんで選択の余地はない。

シェルごときで移植性とか言ってるアホが多いっていうのは同意。
0687名無しさん@お腹いっぱい。2007/06/23(土) 03:31:47
視野が狭いのって、幸せでいいよね。
0688名無しさん@お腹いっぱい。2007/06/23(土) 08:31:29
そう?いまどきシェルの互換性なんか気にしてる奴って幸せそうに見えないが。
0689名無しさん@お腹いっぱい。2007/06/23(土) 09:38:27
シェルはさまざまなコマンドと組み合わせて使うしな。
コマンドにも完全な互換性がない以上、シェルスクリプトの互換性や移植性を気にし過ぎるのはアホ。
ささっと書いてテストして動きが変だったら、そのとき直せばいい。
シェルってそういうライトな使い方をするためのものでしょ。
■ このスレッドは過去ログ倉庫に格納されています