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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 23:34:47.98 ID:/eJt2TVD.net]
シェルスクリプトに関する総合スレッドです。

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。

前スレ:
シェルスクリプト総合 その28
mevius.5ch.net/test/read.cgi/tech/1532397676/

96 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 00:24:00.86 ID:opkeFDjY.net]
1.txt, 2.txt, 3.txt と3つファイルがあるディレクトリでecho * したら
これらのファイルがでてくるのに空のディレクトリで、
echo * したら * と表示されるのなんで?
何も表示されないでほしいんだけど、この仕様、なにか便利なの?

97 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 03:15:34.42 ID:7s/hio3T.net]
echoがやってるんじゃないし...

98 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 03:21:22.66 ID:xQGJKB0I.net]
エコーさんはね、もらったものをエコーするだけだってね、ママがいってたの

99 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 04:46:21.43 ID:19nHnpBp.net]
cat *
とかで困るだろうに

100 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 11:44:59.87 ID:opkeFDjY.net]
echoがやってるかどうかは論点じゃないしw

101 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 13:06:19.36 ID:/xpppM3k.net]
いや、重要だぞ。何の man を読めばいいかというのは。読む気があればね。

102 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 14:25:13.45 ID:opkeFDjY.net]
それで質問の答は?

103 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 15:00:27.41 ID:19nHnpBp.net]
答えはmanに書いてある。なんでかは「読まなければならない」けど

104 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 15:08:08.53 ID:vligoyoR.net]
>>102
echo は渡された文字列をそのまま出力する仕様なので、* を渡されたら * が出力される。というのが回答だよ。



105 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 16:46:44.95 ID:/xpppM3k.net]
まあ、「'*' はいらない」というのももっともなことだしね。
bash を使ってるなら man の「パス名展開」の項を読めばいいかも。
bash じゃない場合は…読めばなんとかなるでしょ。

106 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 16:53:45.66 ID:19nHnpBp.net]
いらないからいる(?)になってるんだけどね。それもそうmanに書いてある

107 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 17:59:04.72 ID:opkeFDjY.net]
>>104
聞いてるのは仕様ではなくて、
どうしてそうしたかの理由です。

108 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 18:17:25.75 ID:19nHnpBp.net]
だからmanに書いてあるってw

109 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 19:15:53.98 ID:opkeFDjY.net]
書いてないから聞いてる

110 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 19:20:19.17 ID:19nHnpBp.net]
書いてあるんだなあ。書いてないんじゃなくて探してないだな

111 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 19:23:19.35 ID:opkeFDjY.net]
最近、無いものをあると言いはるのが増えてるのか?
無いものはいくら探してもないし、
有るならさっと出すことぐらいできるだろ

112 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 19:24:58.44 ID:19nHnpBp.net]
なんかいたね、ちょっと前のシグナルの質問してたのとか
煽って自分では労力さかずに答え出させようしてんの?w

113 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 19:30:55.71 ID:opkeFDjY.net]
んで答えは?w

114 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 19:31:22.20 ID:19nHnpBp.net]
manに書いてあるw



115 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 20:09:11.90 ID:opkeFDjY.net]
書いてない

116 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 20:21:01.39 ID:19nHnpBp.net]
マンザイとしてはそれはないな。オモロクないやん、マンザイとして。いい感じだったのにw

その言い張り方が、なんか既視感ありすぎ。そしてよく「言いはるのが増えてるのか」なんて言えるなあ
まあ、ふんわりとした答えは>>99で答えてるんだけどね。それはmanに書いてた説明からだよ
ところでOSなに使ってるの?

117 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 20:24:57.07 ID:opkeFDjY.net]
catが困るのは、単にcatの仕様がクソってだけだろう
標準入力から読み込むためのオプションの - があるのに、
引数なしだと標準入力から読み込もうとするわけだから

118 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 20:28:22.13 ID:19nHnpBp.net]
浅いな、catは一例なのに
そのやたらプライド高そうだけど、全然そのプライドを裏付けるもの無いから、こんなことになってんやで?まあ、プライド高いから言ってもわからんだろけど

ちなみに、'*'でなくて''でもよさげなんだけど、'*'の方がやっぱりいいんだな(と、思う。そう具体的に書いてない、''に言及してはいないけど)。さて、どうしてでしょう?

119 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 20:45:06.72 ID:opkeFDjY.net]
> さて、どうしてでしょう?

お前にその答えが言えんの? *の方が良いと思ってるようだが、
正確にはディレクトリが空の時に帰ってくるのは、正確には*じゃないんだが

120 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 20:49:41.59 ID:19nHnpBp.net]
うん、>>117なんて宣える人にそう言われてたくないけど。やっぱ想像はつかないのね。なのになんで疑われているのかさっぱり。また煽って喋らせる手法?w

正確にはってのはイミフ。なんの正確?なにを言いたいのかイミフだがほぼデフォルトの環境ではそうだよ、てか、そう決められているはずなんだがなあ

121 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 20:54:08.11 ID:opkeFDjY.net]
聞いてるのは、決められているかどうかじゃなくて
なぜそういう風に決めたかだって言ってるだろ

122 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 20:55:07.83 ID:opkeFDjY.net]
だいたい、俺の想像していることがわかってない時点で
お前はダメダメなんやで?わかってるか?

俺の想像していることぐらい読み取れ!

123 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 20:56:45.08 ID:opkeFDjY.net]
ディレクトリが空の時に帰ってくるのは * ではありません。
echo ? だと ? が帰ってきます。

124 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 20:58:07.29 ID:opkeFDjY.net]
echo *[a-z]* だと *[a-z]* が帰ってきますが、

さて、このディレクトリは空でしょうか?
それとも *[a-z]* という名前のファイルがあるのでしょうか?



125 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 20:58:24.17 ID:19nHnpBp.net]
だから、なぜそういう風に決められたかっていうことをずーーっと言っているんだけど?
あんたが自分勝手な自分だけの思いで自分の考えに固執してるから先に進んでないんだけなのに。既視感ありまくりw

'*'の方がいいとまでちょっと進んで言っているのに聞かないで反発してるだけだし。答えは書いてある。さあ、理解に向けて進んでみようw

126 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 21:02:36.29 ID:19nHnpBp.net]
>>123,124
そりゃそうだ。根本的に勘違いしてる。*なんだから'*'、?なんだから'?'、[a-z]*なんだから'[a-z]*'でしょに。なにを言っているのだか

なんで、ますますプライドを裏打ちするものが無いって自ら開陳するかなあ。捨てなその意味ないプライドは。文字通りプライドが邪魔する(意味が違うか?w)でしょうに

127 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 21:04:35.03 ID:7s/hio3T.net]
>>122
あすぺってこういう人のこと言うの?
違う?

128 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 21:04:35.25 ID:opkeFDjY.net]
だから答えは書いてないって言ってるだろ

いい加減、悪魔の証明は辞めてくれ。
無いものは無い。無いという証拠を見つけられないなら
悪魔はいるってことだ!←ほんと馬鹿みたいだ

129 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 21:07:34.48 ID:19nHnpBp.net]
答えは書いてあるよ。ふんわりと。あんたに理解できるようには書いてないかもだけどwいや、プライド高いお人だからわかると思うんだけどということでw

悪魔の証明でもなんでもないのになあ。なんとか言わせたくて必死な感じ?通用しないよ何度もはw

130 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 21:08:58.45 ID:opkeFDjY.net]
※書いてないから、言えないのです

131 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 21:09:37.50 ID:19nHnpBp.net]
>>127
俺のこと?違うよww わざとやってます。なんかオモロイから
なんで自分の労力を割くのが嫌いなくせに、まわーーーーーり道してんのかなあと。どこまで回り道すんのかなとw

132 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 21:11:14.30 ID:19nHnpBp.net]
>>130
そんなあけすけな手にはのらないww

133 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 21:46:57.92 ID:gljFUA1G.net]
もうどっちがどっちなのか分からんけど
グロブに関する疑問なら答えられそうなので,
最初の質問を教えてくれ。

134 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 21:49:48.14 ID:19nHnpBp.net]
ありゃりゃ。終わっちゃうかっw
親切だな。まあいいことだけど。ヤツにとっていいこととは思えないけど(余計なお世話)



135 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 21:52:55.41 ID:19nHnpBp.net]
>>133
>>96が元、(>>105.106からの?)>>107
だよ。それ以外はいらないww(たぶん)

136 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 22:06:28.63 ID:opkeFDjY.net]
>>133
echo * (別にechoである必要はない)で
ファイルが見つからない時になぜ * を返すのか?
そういう仕様にした理由

137 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 22:52:03.02 ID:opkeFDjY.net]
ありゃ? もうすぐ答え出るかと思ってひとっ風呂浴びてきたんだが
まだでてないや。誰か曰くmanに書いてあるらしいから
知らなくても答える気があるなら、答えられるはずなんだけどなー

な?書いてないだろ?

138 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 22:55:28.86 ID:19nHnpBp.net]
そこまで言い張ってあったらどうすの?いやあるんだけど
黙って逃げるだけの未来しか見えないw

139 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 23:03:19.00 ID:opkeFDjY.net]
じゃあ先に答えを言ってくれた人へ

ありがとう


これでもう黙って逃げるだけの未来はなくなりました。

140 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 23:04:43.01 ID:19nHnpBp.net]
やかましわっ、アホっw

なんでこうも強情というか自信満々なのかなあと、実際にあるのに書いてあるのを知っている方は思うんだよ
で、ここまで強情で自身満々故になのか逃げるだけかというのも透けて見えるんだよ

まあ、>>133のお人が答えてもらえるんだからもっと待ちなさいな
なんでそうも自己都合なんだかw。俺が>>133だったら答えるのやめるw。別に>>133のお人に答えるなとか風なことでではない、あくまでも俺だったらね

141 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 23:10:20.77 ID:opkeFDjY.net]
書いてある内容をコピペすりゃ終わりなのに
長引かせてるのはお前やで?

142 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 23:13:02.33 ID:19nHnpBp.net]
そうだよ?言われなくても、そうだよ?(すでに>>131で書いてあるやん?w)
なにを急に言い出してるの?それもあんたも律儀にレスしてんのに

143 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 23:14:01.18 ID:opkeFDjY.net]
自信満々に荒らし宣言w

144 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 23:17:24.59 ID:19nHnpBp.net]
いやいや、それを言うならあんたもだって。なんだかなあ。それに俺はちゃんと答えている(ふんわりと)、それにあーだこーだ言っているのはあんたなんですけど?どっちがよりでしょうねえ?
第三者から荒らしと言われてもしょうがないかと思うが、あんたが言い出すとは、まあ、先の「言い張る〜」と同じパターンやね

てかさ、せっかく>>133が出てきたのにそうやってなぜ流すようなことすんの?w



145 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 11:46:05.38 ID:zBV/1Std.net]
>>133
待ってますよ

146 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 10:20:38.47 ID:eWoMr/0V.net]
>>133
まだですか?

147 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 15:20:56.18 ID:NNFII5Ih.net]
横からだけど面倒臭いから答えを書いとくよ
bash なら man bash の Pathname Expansion に書かれてるから、それをちゃんと読んでから質問してね。

148 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 15:59:00.29 ID:3hZl3Wdo.net]
>>147
そこに「なぜ*を返すことにしたのかという理由」は書いてないって言うのが面倒だから、ソースとGoogle翻訳貼り付けるわ
https://git.savannah.gnu.org/cgit/bash.git/tree/doc/bashref.info#n2116

*パターンマッチング::シェルがパターンをどのようにマッチングするか。

単語分割後、 '-f'オプションが設定されていない限り(* Set The Builtin::)、Bashは各単語をスキャンして文字 '*'、 '?'、および '['を探します。
これらの文字の1つが現れると、その単語はPATTERNと見なされ、パターンと一致するファイル名のアルファベット順にソートされたリストに置き換えられます(* Pattern Matching::)。
一致するファイル名が見つからず、シェルオプション 'nullglob'が無効の場合、単語は変更されません。
'nullglob'オプションが設定されていて、一致が見つからない場合、その単語は削除されます。
'failglob'シェルオプションが設定されていて、一致するものが見つからなかった場合、エラーメッセージが表示され、コマンドは実行されません。
シェルオプション 'nocaseglob'が有効になっている場合、アルファベット文字の大文字と小文字を区別せずに照合が実行されます。

パターンがファイル名展開に使用されるとき、文字 '。' シェルオプション 'dotglob'が設定されていない限り、ファイル名の先頭またはスラッシュの直後に明示的にマッチしなければなりません。
ファイル名 '。' 'dotglob'が設定されていても、 '..'は常に明示的に一致しなければなりません。
それ以外の場合は、「。」 文字は特別扱いされません。

ファイル名を一致させる場合、スラッシュ文字は常にパターン内のスラッシュと明示的に一致させる必要がありますが、
他の一致コンテキストでは、後述のように特殊なパターン文字と一致させることができます。

149 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 15:59:15.40 ID:3hZl3Wdo.net]
nocaseglob'、 'nullglob'、 'failglob'、および 'dotglob'オプションの説明については、* note The Shopt Builtin ::の 'shopt'の説明を参照してください。

'GLOBIGNORE'シェル変数はパターンにマッチするファイル名のセットを制限するために使用されるかもしれません。
「GLOBIGNORE」が設定されている場合、「GLOBIGNORE」のパターンの1つとも一致する各一致ファイル名は、一致リストから削除されます。
'nocaseglob'オプションが設定されている場合、 'GLOBIGNORE'のパターンとのマッチングは大文字小文字の区別なしに実行されます。
ファイル名 '。' 'GLOBIGNORE'が設定されていてヌルでない場合は、 '..'は常に無視されます。
ただし、 'GLOBIGNORE'をNULL以外の値に設定すると、 'dotglob'シェルオプションが有効になるので、他のすべてのファイル名は '。'で始まります。 一致します。
'。'で始まるファイル名を無視するという古い動作をするには、 '。*'を 'GLOBIGNORE'のパターンの1つにします。
'GLOBIGNORE'が設定されていない場合、 'dotglob'オプションは無効になります。

150 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 16:53:14.39 ID:6GvfotlI.net]
存在する機能の説明なのでその機能について説明しているだけかなと

151 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 16:56:27.29 ID:3hZl3Wdo.net]
133 名前:デフォルトの名無しさん[sage] 投稿日:2019/04/04(木) 21:46:57.92 ID:gljFUA1G
もうどっちがどっちなのか分からんけど
グロブに関する疑問なら答えられそうなので,
最初の質問を教えてくれ。

136 自分:デフォルトの名無しさん[sage] 投稿日:2019/04/04(木) 22:06:28.63 ID:opkeFDjY [17/21]
>>133
echo * (別にechoである必要はない)で
ファイルが見つからない時になぜ * を返すのか?
そういう仕様にした理由

152 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:06:51.60 ID:6GvfotlI.net]
なぜかは、
だいたいは、こんな感じ(だろうで)、
if(argc < 2){
fprintf(stderr, "usage: hoge file ...\n");
exit(1);
}
if((fp = fopen(argv[1], ...)) == NULL){
warn("%s", arg);
exit(1);
}

$ rm -v '*'
rm: *: No such file or directory
$ rm -v ''
rm: : No such file or directory
$ rm -v
usage: rm [-f | -i] [-dPRrvW] file ...
unlink file
どれがエラーとして適切?ということとかとか。他にエラーにならないのが困るとか

スクリプトでしかの話なら何も返さないというのもあるけど、スクリプトだけのためのじゃないからねえ。上記の通りコマンド的にはエラーの方がわかりやすく、シェルがどのコマンドだから展開方法を変えるというわけでもないし

>>151
そこにあるキーワードで別のmanがググれるよ

153 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:08:25.01 ID:6GvfotlI.net]
>>152
誤 warn("%s", arg);
正 warn("%s", argv[1]);

154 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:14:32.56 ID:3hZl3Wdo.net]
>>152
それどれもエラーになってますよ?



155 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:16:06.60 ID:6GvfotlI.net]
エラーだもの。「エラーの方がわかりやすく」ってとこ?すまん変な文になった
そのままの方がわかりやすく(?)
かな。

156 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:16:38.44 ID:3hZl3Wdo.net]
>>152
> そこにあるキーワードで別のmanがググれるよ

今度は、どのmanですか?

157 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:19:09.45 ID:6GvfotlI.net]
ああ、「どれがエラーとして適切?」もか。「どれもエラーだがどれが適切?」というつもりだったんだが。「どれもエラーだがどれがエラメッセージとして適切?」までか

158 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:20:08.01 ID:6GvfotlI.net]
>>156
今度はという意味がわからんが、
man 「キーワード」
でググってみ

159 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:21:42.07 ID:6GvfotlI.net]
てか、またおまえか?いちいち教えてもらったのに文句つけてるんだなw

160 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:23:26.97 ID:3hZl3Wdo.net]
>>157
for i in *.txt; do rm "$i"; done
(すでに拡張子txtのファイルが全て削除されている場合)
rm: '*.txt' を削除できません: そのようなファイルやディレクトリはありません

これは適切なエラーメッセージだと思いますか?

161 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:24:20.52 ID:3hZl3Wdo.net]
>>158
なんで「キーワード」というふうに隠すんですか?
キーワードの中身を書きましょうよw

162 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:24:53.61 ID:6GvfotlI.net]
>>152の最後に書いてあるだろう。なんでいちいちいちいち教えなきゃならんのねん
コマンドとしては適切だろう

163 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:27:49.54 ID:6GvfotlI.net]
>>161
いちいち教えてもらわなきゃならないのに、隙あらば文句つけるようなヤツに丁寧に教える必要はないってことだよ。社会的に一般的なことだなw
まあ、もともとはあんたに具体的に教えたくないから、あんたじゃない人に他にあるよと言ってみただけだな

てか、ぜんぜん進んでねーな。こんなやりとりしてもぜんぜん進まないよ?少しは頭を働かせて自力でやってみなさいな

164 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:29:55.75 ID:3hZl3Wdo.net]
1. man bashにある
2. ありませんでした。
3. 他のmanにある
4. ありませんでした。

この流れか



165 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:31:26.91 ID:3hZl3Wdo.net]
日本語に訳してあげないと、書いてないことを認めなかったくせに
何言ってるんだろうね。

166 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:31:36.42 ID:6GvfotlI.net]
マジで「読めない」のな...どうしようかw

167 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:32:31.71 ID:6GvfotlI.net]
>>165
なにをおっしゃってるんですか?すごいな、いやすごい

な?全然進まんだろ?w

168 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:35:16.40 ID:3hZl3Wdo.net]
お前が出てくるといつも進まんよなw

169 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:37:34.84 ID:6GvfotlI.net]
あんたが進まなだけだからな、別にあんたが進まないのは俺はどうでもいいんだけど、なにか進みたがってるあんたがどう動くのかが興味ありの
なんで俺にいちいちレスしてんの?w

170 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:42:21.44 ID:3hZl3Wdo.net]
> なんで俺にいちいちレスしてんの?w

お前が言ってることが嘘だからだよ。
manにそういう仕様にした理由は書いてませんでした。

171 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:42:42.54 ID:3hZl3Wdo.net]
知らないなら、素直に知らないって言えばいいのに

172 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 17:44:22.86 ID:6GvfotlI.net]
ちょっとは進んで(ID:3hZl3Wdo がヤツだとは思わなかったのでw)、>>152を書いてみたが、ヤツはやっぱり聞かないだけだったという
俺は単に最初からmanにあるとしか言ってない、man bashに言及してるのはあったけど(>>105ですでになのに、なんでいまごろなんだ?)、まあそこからでもたどり着くかなとw

>>164なんてお前の勝手な妄想解釈。あるよ本当に
(「言っちゃった」とちょっと悔しくもある。また、「言っちゃった」のになんで探せないないねんwwwここまで言えばさすが自分で探すか?)

173 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:02:56.45 ID:6GvfotlI.net]
探せたか?wwまあ、探せても「読めない」可能性が高いかな
・やっぱり、探せない
・探せたが、読めなくて文句つける
・探せて、黙って逃げる
・他
どれでしょう。まあこう書いたら「他」にする可能性が高いか

174 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:16:37.06 ID:3hZl3Wdo.net]
> なんでいまごろなんだ?

>>105の「パス名展開」の項にないのはわかっていて、そこにないと言ってるのに
性懲りもなく、>>147で「bash なら man bash の Pathname Expansion に書かれてるから」と
いうから、こいつ読んでないなってことで日本語に訳してあげたんだろ

そして
> ファイルが見つからない時になぜ * を返すのか?
> そういう仕様にした理由
は、そこに書いてないと同意取れたはずだが?

なんでそんな説明をせにゃいかんのよ?



175 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:23:16.92 ID:6GvfotlI.net]
「性懲りもなく」...「訳してあげた」んだろ
すんげええなあ、今までさんざん無能っぷりを自ら披露しているのにw 単によくレスを見なかった人がと考えはしないのね。自分がレスをよく見ないくせにw

お前のレスはぜーーーーんぶ自分内で完結している。こんな他人と交わらない方がいいんじゃないの?
呆れ果てるな。まあ、その自己の世界で妄想ダダ漏れすればいいと思うよ

176 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:24:46.51 ID:3hZl3Wdo.net]
↑ほらな。俺の言ったことを否定したいだけw

177 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:28:18.84 ID:6GvfotlI.net]
そりゃ、否定するよ。矛盾自己肯定だらけだもの
もしかして、あんたって40超えたおっさんで外人にクソガキ呼ばわりされたことない?って気になったり。まあ、違うかw

178 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:34:08.77 ID:3hZl3Wdo.net]
>>117
40超えたおっさんにクソガキ呼ばわりでもされたか?w

179 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:34:25.94 ID:3hZl3Wdo.net]
>>117 じゃなくて >>177

180 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:37:29.49 ID:6GvfotlI.net]
いや、そういう(一部で有名な)有名人がいてな、あんたの属性が似すぎててな。幾つかは知らんが、あんたもそのうちそうなるだろうな
年意外同じだからw 年取ればそれが変わるわけでもないぞw

181 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:40:11.70 ID:3hZl3Wdo.net]
嫌いなやつはみんな一緒。思考回路が単純(笑)

182 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:43:03.63 ID:6GvfotlI.net]
イミフ。なんで「嫌い」とかアホなこと言っているのだか。人のふり見て我がふり直すとかあるでしょ?そういう意味だよ、そういう有名人
誰ともわからないハズなのに「嫌い」とだけの理由にできるとは...さては...ww

183 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:45:02.15 ID:3hZl3Wdo.net]
はいはい。話戻すぜ。

ファイルが見つからない時になぜ * を返すのか?
そういう仕様にした理由
^^^^^^^^^^^^^^^^^^^^^^

manに書いてあるそーです。やつのたわごとを信じる人は
(ネットじゃなくて)manの中から探してみてください。
信じない or 信じたけど裏切られたら、
ここにmanの場所が書かれることはないでしょう(予言)

184 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:46:10.94 ID:6GvfotlI.net]
・やっぱり、探せない
か... うん、なんかよかったww
じゃ、がんばれよ



185 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:50:10.35 ID:3hZl3Wdo.net]
>>184
安心しろ。俺以外の人も見つけられない。
だからここに俺とお前以外の人間が書くこともない。
俺が言ってることが正しければな(笑)

186 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:56:04.68 ID:6GvfotlI.net]
ほんと「読めないのな」。よかったはそういう意味じゃない
わざとかと思えなくもないけど、いままでの「読めなさ」からはわざとではないとしか思えない

どう見ても、お前の都合のよいことだな、さすがだよ
場所のレスもらえればお前がいままで知りたかったことがわかり、黙って逃げるだけw(そこにお前の苦悩とかなさげ)
もらえなかったら、お前の中では自己肯定の補強にになるだけとういう。間違いでもな

しょうがないな、1ヶ月後に教えてやるよw何もなかったら1ヶ月後に、この話題はw

187 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 19:02:14.14 ID:3hZl3Wdo.net]
なんなら一年後でいいんやで?w

188 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 19:09:11.60 ID:6GvfotlI.net]
イミフ。下衆い意味で言っていそうではあるがwじゃ、適当な時にな

189 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 19:20:16.01 ID:3hZl3Wdo.net]
それまで別の話題でお会いしましょう(笑)

あ、他の人、manにないのは明らかなんで探さなくていいですよ〜w
時間の無駄でしょうし。

190 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 19:24:11.57 ID:3hZl3Wdo.net]
__ - ____ ________ - ___

191 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 21:48:40.20 ID:9U0C5XME.net]
>>136
bashがそういう仕様にした理由は, shにあわせたからです.
shがそういう動作をする理由は, expand()が0をかえしたときはもとの引数文字列でmakearg()するようにつくられているからです. おそらく, そういう仕様をきめてからそういう動作をさせたわけではないとおもいます.

192 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 22:28:59.33 ID:Ejuihx1D.net]
ようやくまともなレスがw

>>191
その動き(expandやmakearg)はソースコードから?

補足しておくと俺は「"bashは"なぜそうしたのか?」とは
聞いてなくて、シェルスクリプト(元をたどればsh?)が
どうしてそういう動作をするのかの理由を聞いてる。

で、それは特に理由はないのかな?たまたま最初の実装した人が
あまり考えず、そうしましたぐらいの理由で。
だから理由を探しても見つからないと

193 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 22:36:01.12 ID:Ejuihx1D.net]
まとめ

for i in *.txt; do
 echo "$i"
done

何もファイルがないディレクトリで↑を実行すると
「*.txt」 というファイルが見つかったかのような動きをします。

「*.txt」というファイルだけがあるディレクトリで実行すると
全く同じように「*.txt」 というファイル名が表示されます。

つまり空ディレクトリでも「*.txt」というファイルがあっても
表示結果が全く同じになります。これは驚き最小の原則に反しています。

194 名前:デフォルトの名無しさん [2019/04/08(月) 22:57:42.88 ID:b/SlAWxT.net]
https://linuxjm.osdn.jp/html/LDP_man-pages/man7/glob.7.html



195 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 23:22:25.12 ID:Ih2qq+NP.net]
の、POSIXのところは
pubs.opengroup.org/onlinepubs/009695299/functions/glob.html
GLOB_NOCHECK
かな?オプション名が意図不明だが説明文からは

196 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 23:37:03.41 ID:8H4AhNTa.net]
>>194
これを読んでも同じ結論になるわけだけど

> 先に与えた、わかりやすく簡単なルール、 「ワイルドカードパターンをマッチしたパス名のリストに展開する」と言うのは、
> オリジナルの UNIX における定義であった。 これはパターンが空のリストに展開されることも許可されていた。 例えば

> において、*.gif ファイルが全くない場合でも、 これは空のリストに展開されるため、エラーにならない。
> しかし POSIX では、文法的に正しくないパターンや、 マッチがなかったパターンは、 そのまま変更されずに残されることになっている。

なぜ、わかり易く簡単なルールを捨てて、POSIXでは「そのまま変更されずに残されることになっている。 」を
選んだのかが書かれてないんだよね。






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

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

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