シェルスクリプト総合 その2
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@お腹いっぱい。
2005/04/17(日) 00:17:17まずは注意点、リンク、地鎮祭など(>>1-10くらい)をご覧ください。
□前スレや過去スレ:
シェルスクリプト総合 その1
http://pc8.2ch.net/test/read.cgi/unix/1101820646/
☆シェルスクリプトを勉強するにあたって☆
http://pc5.2ch.net/test/read.cgi/unix/989659936/
便利なシェルスクリプト見せろ
http://pc5.2ch.net/test/read.cgi/unix/996949546/
【貝】第1回シェル講座【殻】
http://fun.kz/test/read.cgi/unix/1016372780/
□関連スレ:
sed
http://pc8.2ch.net/test/read.cgi/unix/1085730992/
おまえら! shell は何を使っているんですか?
http://pc5.2ch.net/test/read.cgi/unix/1012330865/
Eshell の使い方とか設定とか【Emacs Shell、Lisp】
http://pc8.2ch.net/test/read.cgi/unix/1102921590/
□他板の関連スレ:
Macでシェルスクリプト総合 Part 1
http://pc7.2ch.net/test/read.cgi/mac/1105074933/
【Shell】どのシェル使ってる?【Script】
http://pc8.2ch.net/test/read.cgi/linux/1067330754/
0951名無しさん@お腹いっぱい。
2005/08/24(水) 11:06:47ワイルドカードは正規表現の真のサブセットなのに、
これをminimal regular expressionなんて呼ぶのが齟齬なんじゃないか。
どの正規表現にも対応するワイルドカード表記があると証明してくれたら、
その定義を受け入れるよ。
0952名無しさん@お腹いっぱい。
2005/08/24(水) 11:24:40そんなことを言い出したら、
「シェルって本当は貝っていう意味ですね。
だから、Bourne shやbashだけでなく、ほら貝やアサリ・シジミも
シェルですね」
と言っているようなもの。
UNIXで正規表現と言ったら、シェルのglobのことは指さない。
わかったら二度と出てくるな、ボケ。
0953名無しさん@お腹いっぱい。
2005/08/24(水) 11:32:250954名無しさん@お腹いっぱい。
2005/08/24(水) 11:38:57あのようなのは、「ばかまるだし」っていいませんか?
0955名無しさん@お腹いっぱい。
2005/08/24(水) 13:17:45globでX|Yや{X}*を表現できるのか?
0956名無しさん@お腹いっぱい。
2005/08/24(水) 13:56:31(http://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A8%80%E8%AA%9E)
かって聞きたかったのだろう。
wikipeidaにもある通り正規表現とワイルドカードは全く別物
ワイルドカードで表現可能な言語は正規表現で表現できるが逆は不
可能なので両者は等価ではない。
0957名無しさん@お腹いっぱい。
2005/08/24(水) 14:02:54やれやれ、貼っとくか、
man 7 glob より:
NOTES
Regular expressions
Note that wildcard patterns are not regular expressions, although they
are a bit similar. First of all, they match filenames, rather than
text, and secondly, the conventions are not the same: e.g., in a regu-
lar expression `*' means zero or more copies of the preceding thing.
"wildcard patterns are not regular expressions"
と言ってるんだから明白だね。
ワイルドカードパターンと正規表現とは違う、
たとえ少し似てるところがあっても。
0958名無しさん@お腹いっぱい。
2005/08/24(水) 14:13:080959名無しさん@お腹いっぱい。
2005/08/24(水) 14:14:02本質を理解してなさそう。
マッチの対象がファイル名かテキストかの違いで、
*とかの表記の意味が違う、
といわれただけで納得か?
0960名無しさん@お腹いっぱい。
2005/08/24(水) 14:51:29globが正規表現の一種なら>>950が引用した定義により帰納的に定義される集合を
表現できなければならないが、その能力はない。
>>950は自分が引用したものの意味もわかっておらず自滅してる。
0961名無しさん@お腹いっぱい。
2005/08/24(水) 14:53:42本質も何も、UNIXでは、
ワイルドカードパターンのことは正規表現とは定義していない、
というだけのことではないのだろうか。
それ以外の定義を持ち出してUNIX板で議論するなら
板違いというべきもの。
0962950
2005/08/24(水) 15:33:14X*はたしかにないなあ。自滅だ。
>>961
sedのいうところの正規表現とegrepの正規表現はかなり異なるが、
どちらも正規表現と言っている。perlやphpはegrepに近いが、
いろいろ違う。だから、「UNIXでは」なんて言っても意味ないよ。
(POSIXのBREとEREは分かっててあえてsed,egrepと言ってるからね、念のため)
0963名無しさん@お腹いっぱい。
2005/08/24(水) 15:42:210964名無しさん@お腹いっぱい。
2005/08/24(水) 16:00:42だから、Basic RE と Extended RE は 正規表現と言っていいんだよ。
globはBasic REでもExtended REでもないから、
正規表現と言ってはいけない。言うと間違い。
0965名無しさん@お腹いっぱい。
2005/08/24(水) 16:13:04>正規表現と言ってはいけない。
ひどいな。
0966名無しさん@お腹いっぱい。
2005/08/24(水) 16:17:540967名無しさん@お腹いっぱい。
2005/08/24(水) 16:28:34自演乙。
glob を正規表現だと主張しているのはお前一人だけのようだ。
0968名無しさん@お腹いっぱい。
2005/08/24(水) 16:31:270969名無しさん@お腹いっぱい。
2005/08/24(水) 16:39:06ほんとだ
*(foo|bar)とかできるね、egrep式には(foo|bar)*の意で。
正規表現と言っていいかどうかまでは調べてないから分からんが。
シェルのファイルパターンマッチの場合、. .. / の扱いが正規表現と呼ぶのに
問題になりそうだ。(ファイルシステムの問題だけなら表現として無問題)
0970名無しさん@お腹いっぱい。
2005/08/24(水) 16:40:290971名無しさん@お腹いっぱい。
2005/08/24(水) 16:42:16「シェルで使えるワイルドカード等は正規表現ではありません。
正規表現の話題はスレ違い(sedスレへ)」
と、明記希盆。
0972名無しさん@お腹いっぱい。
2005/08/24(水) 16:51:07950が撤回してるからもう一人もいないんじゃないか?
今は964の変な理屈(たぶん釣り)に反応してるだけで。
0973名無しさん@お腹いっぱい。
2005/08/24(水) 16:51:560974名無しさん@お腹いっぱい。
2005/08/24(水) 16:56:130976名無しさん@お腹いっぱい。
2005/08/24(水) 21:41:010977名無しさん@お腹いっぱい。
2005/08/24(水) 21:41:540978名無しさん@お腹いっぱい。
2005/08/24(水) 22:04:16何を言っているのやら。
「マッチ対象」は関係無いでしょう。ファイル名に対してregexpを使うこともできるし、
テキストに対してもワイルドカードパターンを使えるのだから。
実装も違う、仕様も違うものをごっちゃにされても困る。
「経済の世界では、defaultの意味は云々」のレベル。
0979名無しさん@お腹いっぱい。
2005/08/24(水) 22:13:030980名無しさん@お腹いっぱい。
2005/08/24(水) 22:15:410981名無しさん@お腹いっぱい。
2005/08/24(水) 22:24:430982名無しさん@お腹いっぱい。
2005/08/24(水) 22:26:170983名無しさん@お腹いっぱい。
2005/08/24(水) 22:59:56あほか
>>957をすみからすみまで読め
0984名無しさん@お腹いっぱい。
2005/08/24(水) 23:06:25「日常の世界ではメモリーは思い出の意味」
で、同じような例、>>985 どうぞ…
0985名無しさん@お腹いっぱい。
2005/08/24(水) 23:18:090986名無しさん@お腹いっぱい。
2005/08/24(水) 23:33:10シェルを実行するときに . を付けるのはなぜ?
$. 2ch.sh
0987名無しさん@お腹いっぱい。
2005/08/24(水) 23:44:11お前さん、何か壮大な勘違いをしてないか?
それともアレか、$PATHの最後に./を入れる派の振りをした壮大な釣りか?
0988名無しさん@お腹いっぱい。
2005/08/24(水) 23:44:13子プロセスを起動させないため
0989名無しさん@お腹いっぱい。
2005/08/24(水) 23:49:160990名無しさん@お腹いっぱい。
2005/08/24(水) 23:51:56勘違い?考えすぎじゃない?
もしかして、カレントディレクトリに対してパスを通す事を行っているの?
でもそれって、本来なら./2ch.shとやるべきでは??
>>988
そうなの?え、いや、でも、子プロセス起動したよ?
$. 2ch.sh で、2ch.shの中からさらに2ch.shを呼び出しますたよ
0991名無しさん@お腹いっぱい。
2005/08/24(水) 23:53:000992名無しさん@お腹いっぱい。
2005/08/24(水) 23:58:13こいつの正体はいったい・・・
0993名無しさん@お腹いっぱい。
2005/08/25(木) 00:00:54「シェルを」っていうか「シェルスクリプトを」だろ。
>>990
> そうなの?え、いや、でも、子プロセス起動したよ?
どうやって確認したの?
>>992
man sh とか。
bash なら help . とか。
0994名無しさん@お腹いっぱい。
2005/08/25(木) 00:05:04それ、どこで覚えたの?
0995名無しさん@お腹いっぱい。
2005/08/25(木) 00:08:30丁寧にありがとう、お兄ちゃん♥
英語が出てきてよく理解できなかったけど、
$PATHを読みにいかないでね、ってお願いしてるんだね♪
子プロセスの生成は、プロセスIDとユーザIDをpsコマンドで確認したよ♪無限ループになるからすぐわかるよ
0996sage
2005/08/25(木) 00:08:510997名無しさん@お腹いっぱい。
2005/08/25(木) 00:09:56シェルスクリプト総合 その3
http://pc8.2ch.net/test/read.cgi/unix/1124889646/
0998名無しさん@お腹いっぱい。
2005/08/25(木) 00:11:10なんかの雑誌のシェルスクリプトの入門記事に書いてあった
いままで漠然と使っていたけど、ふと疑問に思ってネットを調べたら、 . じゃなかなか検索できんわな
0999名無しさん@お腹いっぱい。
2005/08/25(木) 00:11:24「.」を使っても$PATHは見る
1000名無しさん@お腹いっぱい。
2005/08/25(木) 00:11:47おや?
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。