[表示 : 全て 最新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/

70 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/22(金) 19:42:40 ]
>>69
エクレアみたいな名前のコマンドが使えませんでした。

71 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/22(金) 19:43:30 ]
Appendix B Major Differences From The Bourne Shell
www.gnu.org/software/bash/manual/bashref.html#Major-Differences-From-The-Bourne-Shell

72 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/22(金) 20:01:34 ]
>>70
10個、具体的にお願いします。

>>71
日本語でお願いします。

あ、来週月曜までにお願いします。

73 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/22(金) 20:08:40 ]
>>72
エクレア?みたいな名前のコマンドが使えませんでした。


74 名前:名無しさん@お腹いっぱい。 [2008/02/22(金) 21:16:55 ]
rsh で、リモート側の戻り値 $? を取得することは可能でしょうか?

75 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/22(金) 21:20:21 ]
>>74
不可能。sshなら可能。

76 名前:名無しさん@お腹いっぱい。 [2008/02/23(土) 16:28:51 ]
あるディレクトリ中でファイルのタイムスタンプの新しい順にls表示するには
ls -lt でできますが、
これを、あるディレクトリ以下のサブディレクトリを全部含めて、かつ、
どのディレクトリにあるかに関係無しにタイムスタンプの新しい順にls表示するには
どうしたらいいでしょう?
ls -ltR では、ディレクトリごとにしかソートされません。

なるべく簡単な方法(コマンドラインにすぐ打てる程度)を希望します。

77 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 16:38:18 ]
そういうのはくだ質へ行ってください。

78 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 16:40:07 ]
>>77
くだ質へ行ったところでお前答えられるのかよw



79 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:04:11 ]
ls -lR | sort では駄目なの?
sort条件の設定がめんどくさそうだけど。

80 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 17:18:23 ]
>>79
はい、だめです。

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 ]
基準なんているか?
質問者の環境で動けばいいじゃん。






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

前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