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/
81 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:20:44 ] >>80 それじゃ他の板行って。ここはスクリプトの板であって、コマンドの板ではないから。
82 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:24:19 ] >>81 そのコマンドをシェルスクリプト中に書きます。
83 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:27:08 ] >>82 >>6
84 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:32:50 ] まずはコマンドとして実行してみて確認するためと、 今後とも定石として覚えやすいように、なるべく簡単な方法を聞いたまでです。 目的はシェルスクリプトに書くことです。コマンドの使い方の質問ではありません。 では、よく知っている方、解答をどうぞ、 ↓
85 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:39:21 ] 手当たり次第man
86 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:41:00 ] お前アホだろ。 perl scriptで、 mtimeのepochTime ファイル名 と出力させてsort -nr
87 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:42:59 ] 屁理屈だけは一人前だな。 しかし、お前の屁理屈を受け入れる必要は全然無い。 残念だなあ、くだ質でなら答えてやったのに。
88 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:44:11 ] lsとコマンド組み合わせで行けそうだし、 >なるべく簡単な方法(コマンドラインにすぐ打てる程度)を希望します。 これはaliasか、これ用のシェルスクリプト書けば行けるけど、 考えれば考えるほど>>77 が正しく思えるようになってきたw
89 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:44:21 ] >>86 perlを使わずにお願いします。
90 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:46:29 ] PATTERNS="*.jpg *.gif" のような、globパタンを空白で区切って並べた 変数が与えられたとして、 ディレクトリ $dir に存在するファイルでこれにマッチするものを 処理するにはどう書くのがいい? cd $dir; for f in $PATTERNS だと、$dirにcdできないといけないのがちょっといやかな、と。
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:49:41 ] >>90 cd || exit って感じでcdできなかったら例外処理するようにしたら?
92 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:50:42 ] ふつー cd $dir&& for f in $PATTERNS
93 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:54:28 ] そういうことを言ってるんじゃなくて、 cdをしたくないんじゃないのかな?
94 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:55:37 ] ああ、確かにw ではちょっと訂正させていただいて。 cd "$dir" && for f in $PATTERNS だと$dirにcdできないといけないけど、ディレクトリにrパーミッションが 出ていてxが出ていない場合も処理できる書き方ができたらいいなと。
95 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:55:43 ] じゃあfindとか
96 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 18:06:34 ] >>93 そういう意味です >>95 ちょっと思いつかなかった。有望かも。 でもfindの-nameはパタン一つしかとれない。 echo "$PATTERNS"|sed -E 's/^[[:space:]]*// s/[[:space:]]*$// s/[[:space:]]+/ -name /g s/^/-name /' ぐらいでいいのかな?
97 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 18:06:35 ] >>84 find . -print0 | xargs -0 stat -t %s の出力をどうにかすればいいんじゃない?
98 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 18:11:55 ] >>94 xないとパターン展開できないんだけど? (direcotry listing属性) rのみで問題ないのは既にパスが分かっているときだけ。 だからx立っているの前提で、 FILES=`(cd $dir; echo $PATTERNS)'`
99 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 18:16:26 ] 逆だろ。rがないとリスティング出来ない。 ただxがないとアクセスできないから意味ないんじゃね? >>94 かなり特殊なケースでリスティングだけ出きればいいのかも知れないが。
100 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 18:39:23 ] xなくてもrが有ればパターン展開は出来る。 ループ内でset +xしてるのがダサいな。 set -f for f in $(for p in $pat; do set +f; [ "$(echo ${dir}/${p})" = "${dir}/${p}" ] || echo ${dir}/${p};done); do basename "${f}";done
101 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 18:50:53 ] パターンがglobパターンじゃない場合に見つけられなかった。 set -f for f in $(for p in $pat; do set +f; [ "$(echo ${dir}/${p}*)" = "${dir}/${p}*" ] || echo ${dir}/${p};done); do basename "${f}";done
102 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 07:19:02 ] >>96 find . \( -name '*.[ch]' -or -name '*.asm' \) ... とかできないか?
103 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/29(金) 15:55:20 ] 犬糞厨はこっちへ シェルスクリプト総合@LINUX Part3 pc11.2ch.net/test/read.cgi/linux/1184077033/
104 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 23:48:31 ] ●質問 /hoge/ 以下にあるディレクトリ群の中身のファイルリストを フルパス形式で各ディレクトリ毎に作りたいです。 ●自分なりに調べた結果 findコマンドを使うとフルパスで結果が返ってくる事がわかりました。 こうしました。 $find /hoge -name "*.txt" > hoge.list ですがこれだと全てのディレクトリの.txtまでのパスが書かれてしまいますので これを各ディレクトリ毎に作りたいんです。そしてそれを~/listに保存したいです。 手作業でもいいのですがOSに不慣れなうえディレクトリが120ほどあり困っています お力お借り出来ませんでしょうか?よろしくおねがいします。 丸投げするつもりはないです 知恵を貸してほしいです。
105 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/01(土) 23:52:48 ] ls -Rオススメ
106 名前:104 mailto:sage [2008/03/02(日) 00:14:25 ] >>105 ありがとうございます。 すみません自分の説明が下手でした・・ $cat a_list /hoge/a/hoge1.txt /hoge/a/hoge2.txt $cat b_list /hoge/b/hage.txt /hoge/b/hage.txt 伝わりますでしょうか・・。
107 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/02(日) 00:50:58 ] こんなんかな find . -depth 1 -type d | while read dir do ls -lR $dir > ./tmp/${dir}_list done
108 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/02(日) 00:53:54 ] あ、出力がフルパスじゃないや。 まぁ、なんかこんな感じでできそうな希ガス。
109 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/02(日) 00:58:29 ] find . -depth 1 -type d | while read dir do find /path/to/hoge/ > ~/list${dir}_list done こんなんか。3連カキコすんまそん。
110 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/02(日) 01:33:33 ] サブディレクトリもあるのかとか、 *.txt 以外のファイルもあるのかあれば表示してもいいのかとか、 ちと条件不足
111 名前:104 mailto:sage [2008/03/02(日) 01:41:01 ] ありがとうございます。 >>109 /path/to/hoge/を書き換えしmkdir ~/listしたうえで実行してみました。 以下のようになります。 find: パスは評価式の前におかなければならない Usage: find [-H] [-L] [-P] [path...] [expression] >>110 条件ですか・・。 サブディレクトリはないです。*.txt以外表示はしたくないです。 *.txt以外のファイルも混在しています。
112 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/02(日) 01:59:50 ] find の行にほかに何か書いたんじゃ? find /path/to/hoge -name "*.txt" > ~/list${dir}_list かなぁ。 find /path/to/hoge/ てすると結果が /path/to/hoge//dir になるぽい。 ちょっと今Macしか手元にないのでちょっと挙動が違うかもね。 俺もあんまり詳しくないんでw
113 名前:104 mailto:sage [2008/03/02(日) 02:28:31 ] >>112 何も書いてないですね。自分に出来るかわからないですけど教えてもらったのを 参考に弄ってみたいと思います。 Macもコマンド使えるんですかー 知りませんでしたw ありがとうございました。一旦、スレを離れます。
114 名前:名無しさん@お腹いっぱい。 [2008/03/05(水) 00:49:41 ] HOGE=20080302022831 たとえば2008年3月2日 2時28分31秒を意味する みたいな環境変数あったとして、 これに180秒足すとか、 時刻の加減算したいのだけどなんかいい方法ない?
115 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/05(水) 01:14:43 ] date -j -f %s $(($(date -j -f %Y%m%d%H%M%S "$HOGE" +%s) + 180)) +%Y%m%d%H%M%S みたいな?OSというかdateによるけど。
116 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/05(水) 04:26:24 ] UNIX epochは素晴らしい。 64bitにした時signedにしてないシステムがあるのは嘆かわしい。
117 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/05(水) 14:50:47 ] dateコマンドはシステムによって違いすぎるから、ほとんどの日付計算はperlに丸投げ
118 名前:名無しさん@お腹いっぱい。 [2008/03/06(木) 13:08:35 ] ある テキストファイルに"aaa"という文字列が入っていたら[処理A]を テキストファイルに"bbb"という文字列が入っていたら[処理B]を ってシェルスクリプトだけでできるかな? bashで。
119 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 13:19:01 ] bashは知らんがshで case $(cat x.txt) in *aaa*) echo 'do A';; *bbb*) echo 'do B';; esac
120 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 13:23:09 ] 両方入っていたら?
121 名前:名無しさん@お腹いっぱい。 [2008/03/06(木) 13:25:03 ] >>119 すげえ!頭の構造が違う! ありがとう。
122 名前:名無しさん@お腹いっぱい。 [2008/03/06(木) 13:25:45 ] >>120 泣きながら修正する
123 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 14:12:58 ] >>119 ファイルサイズがでかいとつらそうだな
124 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 14:15:27 ] grep -s aaa file && echo 処理A grep -s bbb file && echo 処理B
125 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 15:36:21 ] >>119 それ bash。 純正 shでは動かん。
126 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 15:41:02 ] >>125 すげー理屈だな。
127 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 15:43:33 ] まぁbashで動くならいいんじゃね。
128 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 15:49:49 ] 純正 shって何?
129 名前:名無しさん@お腹いっぱい。 mailto:sag [2008/03/06(木) 16:02:36 ] Version 7 あたりか
130 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 16:34:24 ] 俺は124みたいな方法が好み $( )が動くのはkshからか?
131 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 16:49:43 ] >>124 それだと今のgrepでは行が表示されちゃうよ。 骨董品のような環境しか使ってないことバレますよw
132 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 17:59:52 ] *BSDユーザはbash依存にはうるさいが、ash依存「$( )とかexport A=aとか」には 無頓着な傾向があるな。
133 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 18:27:06 ] export A=aはkshでも出来るからどうでも良い
134 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 18:41:48 ] 現実に純正shとやらが載ってる環境なんて今時滅多になかろうし、 テンプレにある議論の基準として参照できそうなのもPOSIXの仕様くらいなので 仕方ない面もあると思う。 >>132 は*BSDユーザに何をみてshの仕様を判断することを期待しているの?
135 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 19:02:35 ] そもそも「純正 sh」って表現が意味わからん。
136 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 19:04:57 ] そうですか。Solarisは今時滅多にないですか、、
137 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 19:07:57 ] >>134 「純正 sh」なんて言わないで 「FreeBSD の /bin/sh で試した」とか言えばいいじゃん。
138 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 19:09:10 ] はいはいashash
139 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 19:10:00 ] >>137 は勘違いしてるね。 FreeBSD の /bin/sh は 純正 sh じゃない。(ashだから) だから、FreeBSD の /bin/sh では >>119 が動いてしまう。 純正 shでは動かないけど。
140 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 19:35:26 ] >>139 純正shって結局何? System 7のshが純正ってことでいい? >>137 それじゃ一般化した議論ができないよ。 まず、$( )とかexport A=aとかが純正shとやらにはありません、 ということを*BSDユーザに対して説得力ある説明をするにはどうするの?
141 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 19:42:05 ] >>140 別に一般化しなくていいと思うけどな。 「(OS 名) の /bin/sh では動かないよ」でいいじゃん。
142 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 20:20:17 ] 「Solarisの/bin/shには$( )とかexport A=aとかがありません」これでいい?
143 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 20:33:05 ] その調子で、Solaris以外も全部列挙していってくれ。
144 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 20:42:22 ] Solarisはいまどきめったにないです
145 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 21:13:15 ] 多くの商用UNIXは互換のために古いshが残されてる。 Solarisの場合、多くのスクリプトがkshベースになってるけどな。
146 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 21:21:53 ] 商用UNIXがもうそれほど多くないです
147 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 21:25:27 ] しょうよねぇ
148 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/06(木) 22:24:07 ] HP-UXは11iでbourneは完全になくなった
149 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 06:51:44 ] 実装とmanだけで、ちゃんとした仕様がないんだから、 純正shなんて言っても始まらない。 今はPOSIXが標準。 >>1 >・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。 なんて馬鹿げてる。
150 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 07:01:33 ] POSIX sh や ksh を前提にしてもいいかもね
151 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 07:14:25 ] よくないだろw
152 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 07:22:03 ] そう? Bourne Shellを前提にするよりはいろいろと有効だとおもうけど
153 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 08:22:29 ] 正直、AT&Tの純正/bin/shが使える環境の方が特殊。 原理主義者は別スレ立ててそこでやってくれ。 そこで永遠に添削してれば良かろう。 つ 【純正/bin/shが】シェルスクリプト【唯一の正当なsh】
154 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 08:46:54 ] いやだから、Solarisの/bin/shが現存するんだって。Solarisももう特殊なのか?
155 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 09:13:02 ] 特殊な部類と言われてもそれほど驚かないけど。 /bin/shをposix shに置き換えていないのはまだ生きているものの中ではsolarisぐらい?
156 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 09:48:19 ] 使用シェルを明示すればいいだけのような気がする。 それでも差異を知っておくのは別に悪いことじゃないと思うんだけど、 特定のOSしか相手にしない連中ならそれでもいいか。
157 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 09:58:02 ] つまり純正shとかいってたのは、Solarisで動かないのは認めねーってのがホンネかw
158 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 10:20:04 ] Solarisなんて現場ではもうほとんど使われてないだろ。 使われているのは昔のマシンで、移行が面倒だからそのまま動いてるだけのもの。 そういうマシンは保守のみで、新規にスクリプトを書くことはないので、 結局Solaris用のスクリプトなんてもう書くことはない。
159 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 10:25:19 ] 自分の場合、Solarisに限らず古めの商用UNIXをお守りすることがある。 入れ替えろつってもムリな環境ってのはあるから。装置の一部になってるとか。 OSのアップグレードすらムリだったり。 若い連中には/bin/shと書いておきながらbash前提のスクリプト書くやつが いたりするんだが、犬以外の作業ではまっていたりする。 そんなやつは知識が足りてないから、なかなか解決できないのが笑えるよ。
160 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 10:25:56 ] >>158 自分の知ってる世界がすべてだと思わない方がいいよ。
161 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 10:50:13 ] Bourne shを前提にすればSolarisのshすら拡張されている。
162 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 10:51:15 ] >>160 こういうふうに、反論する(反例を示す)わけでもなく、 一般論だけ言って本人は反論したつもりになってるのって間違ってるよな。
163 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 10:57:52 ] >>161 じゃあ、Solarisの/bin/shで使えて、Bourne shでは使えない例を1つ以上挙げて。 あらかじめ言っとくけど、あくまでシェルスクリプトとしてね。 インタラクティブモードでの拡張は別。(set -mでjob controlが使えるようになるとか)
164 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 11:16:01 ] ^ がパイプとして動くshはまだどっかにある?
165 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 11:23:50 ] >>163 関数。
166 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 11:28:01 ] オリジナルBourne shellって一体どのバージョンのこと指しているの? POSIXなら仕様のversionでどれかはっきりするけども。 オリジナルBourne shellって言っても、どれか特定すら出来ないでしょ。 後から行われたバグフィックスは含むのか含まないのか。
167 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 11:39:06 ] >>164 Solarisの/bin/sh は ^ がパイプとして機能する。Bourne sh踏襲のため。
168 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 11:58:56 ] 反例ないようだし、実質 Solaris /bin/sh基準でいいんじゃね?
169 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 12:04:57 ] 可哀想に、耄碌して目も見えなくなったのか……
170 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 12:07:54 ] 基準なんているか? 質問者の環境で動けばいいじゃん。
171 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 12:17:05 ] そういうことにしてしまうとbashを排除する口実がなくなる。
172 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 12:38:31 ] 実質POSIX sh基準でよさそうだな。SUSv3と一体化したし。
173 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 12:40:50 ] だから、それじゃSolarisで動かないとあれほど、、
174 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 12:43:10 ] Solaris爺様には必要なときにSolarisではどうするかと質問してもらうということでいいんじゃない。
175 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 12:44:44 ] Solarisはkshがあるから、POSIXのコード渡されても問題ないでしょ。
176 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 12:44:57 ] POSIX信者もbashと同様にウザイことに最近気がついた。
177 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 12:46:14 ] Bourne shell原理主義者もな。
178 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 12:47:28 ] 学生のときSolarisにお世話になった俺は心情的にはSolaris使える人を維持できるよう このスレも気を配った方がいいとは思うのだが、昨日からの流れ見てると 到底このスレのSolaris使いを擁護する気にはなれないwww もうPOSIX shスレでいーよ。
179 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 12:53:45 ] せっかくだからPOSIXと由緒正しいBourne shellの違いを上げてみる? [[ 新test式 ]] $(( 算術式 )) 引数がない場合の"$@"問題
180 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 13:00:43 ] そもそもtestがbuiltinだ、ボケ
181 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/07(金) 13:01:17 ] そもそもtestがbuiltinじゃないだ、ボケ