19/04/22 23:58:52.60 htDMK2AO.net
そもそもなぜ eval を使うのかというと、コマンドラインの解釈において
ブレース展開がコマンド置換より前だから
コマンド置換してからブレース展開するためには
eval を使って解釈を最初からやり直す必要があるためで
しかしながら printf と "%s\n" にはその必要がないのだから、つまり
printf "%s\n" $(eval echo $(<foo.txt))
でいいんじゃないかな。
314:デフォルトの名無しさん
19/04/23 08:44:15.00 q7kwqzjj.net
ダブルクリックで実行できるのとできないシェルスクリプトの違いって一体
whileとcaseで簡易メニュー作ってたんだけどダブルクリックしても画面に何も出ない上に
起動されたbashがCPUがかなり食ってた
無論端末から実行はしっかり通る
ls結果を外部保存するような単純な奴はダブルクリックでも正常通りなんだけど
315:デフォルトの名無しさん
19/04/23 13:31:54.32 zhMneqp1.net
シェルスクリプト関係ない
316:デフォルトの名無しさん
19/04/23 18:19:48.00 /EY0Mv6x.net
>>311
マニュアル嫁
つーか実行すれば一目瞭然だぞ
……と思ってやってみたらexportはオプション成しで起動すると
export -pと同じ動作をするんだね
317:デフォルトの名無しさん
19/04/23 18:22:18.78 /EY0Mv6x.net
>>314
使ってるGUIシステムがX11なら
x-terminal-emulatorなんかを使って仮想端末を立ち上げてからじゃないと
メニューみたいな端末出力を必要とするものは期待した通りに動かないよ。
318:デフォルトの名無しさん
19/04/23 20:23:01.28 zVNwrrWL.net
>>316
そうマニュアルに書いてあるだろう。なんのボケ?w
319:デフォルトの名無しさん
19/04/23 21:51:37.02 zhMneqp1.net
模範解答
export -p がどう表示されるかはPOSIXで規定されていますが、
export がどう表示されるかは未定義です。(同じとは限りません)
つまり、exportがどうなるかはシェル毎に異なります。
URLリンク(pubs.opengroup.org)
更にexport -pはbashではPOSIXに反してdeclareで表示されます。
これらは各シェルのマニュアルには書いていません。
320:デフォルトの名無しさん
19/04/23 22:49:27.06 /EY0Mv6x.net
模 範 解 答
321:デフォルトの名無しさん
19/04/24 08:22:12.86 6O+4Q2Ek.net
bashで abc*が展開できると出来ないときがあって
それをテストするのに
[ "abc*" = 'abc*' ]
とやりたいのにできません
どうやったらできますか?
322:デフォルトの名無しさん
19/04/24 17:25:06.62 bQUFU5ml.net
>>321
何がどうできないのかよく分からないけどシングルクォートとダブルクォートは
処理が違うから「=」にならないと思うよ
シングルクォート側は文字列なので「abc*」っていう文字列になるけど
ダブルクォート側は解釈されるので「*」にあたるものが存在しないと何もない
状態なので「abc」って文字列になるんじゃないかな
323:デフォルトの名無しさん
19/04/24 17:40:21.19 uakSx5ac.net
は?
324:デフォルトの名無しさん
19/04/24 17:42:31.98 6O+4Q2Ek.net
abc*が展開できない時はそのままabc*になるのでそう思って書いてみました
325:デフォルトの名無しさん
19/04/24 18:28:22.30 6T3A9gnL.net
abc* というファイルが実際にあるというというのは除外でいいのね?
326:デフォルトの名無しさん
19/04/24 18:32:06.10 6O+4Q2Ek.net
ええです
327:デフォルトの名無しさん
19/04/24 18:45:29.21 6T3A9gnL.net
ダブルクォートで囲んでも囲んじゃうとglob展開は行われない変数などのようには。(>>322見るとデフォでは??展開できるなんかあっったかなあ)
[ "$(echo abc*)" = "abc*" ]
とかかな
any='abc*'; [ "$(echo $any)" = "$any" ]
328:デフォルトの名無しさん
19/04/24 19:43:12.00 uakSx5ac.net
日本語がダメな奴と日本語がダメな奴が
初心者同士の会話をしてる。
ついていけない。
329:デフォルトの名無しさん
19/04/24 19:56:20.38 6O+4Q2Ek.net
>>327
ありがとうございます
echoを使わずできたらお願いします
無理なら諦めます
330:デフォルトの名無しさん
19/04/24 20:25:30.92 6T3A9gnL.net
>>328
答えてやれよ。マウントとりではなくて。ふたレスもするくらいな
(>>322は正直お前の>>323と同じだが、それだけじゃなというのと、もしかしてもしかしてもしかしてだけど)
331:デフォルトの名無しさん
19/04/24 20:29:18.25 6T3A9gnL.net
>>329
echoを使わずの条件がわからない。他にもやり方があるけど、複数行にだったり
stackoverflowではなんか凝ったのより ls が人気みたい。見た目でわかりやすからかな
332:デフォルトの名無しさん
19/04/24 21:08:22.56 uakSx5ac.net
何をやりたいのかわからない。
端末にecho *って入力して
あぁ、展開されましたねって
確認すりゃいいだけじゃんか
なんで[ ]とか使うのか
333:デフォルトの名無しさん
19/04/24 21:16:12.73 6T3A9gnL.net
>>332
お前が何言っているのかわからない
シェルスクリプトで判断してなにかその後にする部分のことを聞いてきているのだろう。その判断するとこだけを書いているのだろうと読むと思うけど
(日本語どうの言うなら、他人の日本語より自分の日本語を疑った方がいいようなw)
334:デフォルトの名無しさん
19/04/24 21:29:00.43 6T3A9gnL.net
>bashで abc*が展開できると出来ないときがあって
abc* としても、該当するものがあってglob展開する場合と、該当するものがなくてglob展開しない(出来ない=globのまま)ときがあって
>それをテストするのに
展開できなかった場合はマズいので(とかなんとで)、それをテストするのに
[ "abc*" = 'abc*' ]
>とやりたいのにできません
としてみましたが、思ったようになりません
だよ。たぶんw
335:デフォルトの名無しさん
19/04/24 22:15:49.65 kFXKi6KY.net
Ruby で該当するファイル数を数えれば?
それが、0 なら、該当なし
p Dir.glob( 'C:/Users/Owner/Documents/*.txt' ).length #=> 0
336:デフォルトの名無しさん
19/04/24 22:19:13.46 uakSx5ac.net
>>333
お前はさ、なぜこういう質問に至ったかまで考えられてないんだよ。
意味不明なんだよ。
>>334
そう思うやろ?だったら意味不明って気づかなきゃ。
> 展開できなかった場合はマズいので
つまり、現時点で「展開できてる」はずなわけだよ。
展開の仕方を知ってる。
なのに展開できないと言ってる。意味不明だろう?
337:デフォルトの名無しさん
19/04/24 22:37:08.62 6T3A9gnL.net
>>336
なにを言っているのかさっぱりわからん。意図目的とすることがな。いや後半はまったくわからん、お前の頭の世界の話だけのようで。ちょっと怖いぞw
ただマウントとりたいだけというのはわかるぞw
338:デフォルトの名無しさん
19/04/24 22:39:35.88 6T3A9gnL.net
読めなかったらのをごまかすためにむちゃくちゃ言っているんだな
うん。そゆことにしとこ。でないとアレだなということで
339:デフォルトの名無しさん
19/04/24 22:49:53.80 uakSx5ac.net
だーかーらー、いつもどおりのやってるやり方で展開して
それをチェックすればいいだけだろと
340:デフォルトの名無しさん
19/04/24 23:04:43.57 6T3A9gnL.net
ぜんぜん「だーかーらー」でもなんでもないな。お前の言っていることはわからん
どうも自称初心者じゃない自称日本語ダメじゃない人の自分の脳の世界でなんか言ってるとしか見えない
お前の言う初心者の ID:6T3A9gnL は >>327 ので不満があるようだがそれでも答えになってるらしいぞ
お前の変な言い分はお前のためでしかなく、他に対する目的も意味もない。マウントとりたいだけのお前には意味があってもな。マウントとりたいから延々続くのか?
341:デフォルトの名無しさん
19/04/24 23:06:17.58 6T3A9gnL.net
誤 お前の言う初心者の ID:6T3A9gnL は
正 お前の言う初心者の ID:6O+4Q2Ek は
なんかすまん
342:デフォルトの名無しさん
19/04/24 23:14:58.44 uakSx5ac.net
> お前の言う初心者の ID:6T3A9gnL は >>327 ので不満があるようだがそれでも答えになってるらしいぞ
だからなんなのか知らんが、お前ら、いつもどおりの展開ってecho使ってんのか?
使ってないだろ。いつもどおりの使えばいいだけなのに、
悩んで(?)別の方法模索してるから、意味不明だって言ってるんだよ。
質問者にも回答者にも
343:デフォルトの名無しさん
19/04/24 23:22:52.75 6T3A9gnL.net
むちゃくちゃww
自分で>>332って書いているのに
言うにことかいて「だからなんなのか知らんが」だってwwwもろマウントとりたいだけ、マウントとり失敗してわけわからんだけだな
344:デフォルトの名無しさん
19/04/24 23:54:51.80 uakSx5ac.net
展開されるかどうかの確認はそれでいいし、
プログラムでならいつもどおりのやり方で展開すればいい
何をやりたいのかわからないのに、どちらの話かわかるわけないだろ
どちらにしろ「は?」なわけだが
345:デフォルトの名無しさん
19/04/25 00:00:15.44 SQ7d9Ur4.net
すでにお前に対して「は?」だよ
346:デフォルトの名無しさん
19/04/25 00:02:54.32 zUwJ78d6.net
っていうか、正しいやり方知らんのか?
echo使って検査するんじゃないぞ(それじゃできない)
347:デフォルトの名無しさん
19/04/25 00:05:34.10 zUwJ78d6.net
それじゃできないっていうのはコレな
> abc* というファイルが実際にあるというというのは除外でいいのね?
abc* というファイルが実際にあることも考慮するやり方をするべき
そうすれば正解にたどり着く
348:デフォルトの名無しさん
19/04/25 00:16:01.39 2wE9GZDh.net
ダメな場合もあるのはわかって聞いているんだけど。本人がいいっていったからそれに合わせてだよ
だれかみたいに「すべき」とか強要するつもりも知識自慢したくてたまらないとかもないからな。その最後のといい、なんか偉そうにしたいのね、質問者の意図とか読まずに、知識自慢するためのw質問者の他の情報も引き出そうともせずに
shopt使うとかいう知識自慢だったら笑うぞ。別にabc*という実ファイルがあった場合でものshopt使わずにの方法もあるけどな
349:デフォルトの名無しさん
19/04/25 00:21:59.00 zUwJ78d6.net
本当に差があるやつとの会話は疲れるw
> bashで abc*が展開できると出来ないときがあって
展開でするやり方知っってるよな?それ使え
> それをテストするのに
展開できないことのテストはいらん
お前が知ってるはずの、展開するやり方を使って、
-f (もしくは -d や -e 等)で、その名前の
そのファイルが実査に有るかどうかを調べるだけ
shoptとかもしらん
350:デフォルトの名無しさん
19/04/25 00:22:22.15 zUwJ78d6.net
実査 -> 実際
351:デフォルトの名無しさん
19/04/25 00:34:11.93 2wE9GZDh.net
やっぱり、まだわかってないんだな、「展開~」という質問を
shoptとかもしらん....
-f とか、まさかそんな「当たり前の」こと言い出すとは
まさか「その程度」だとは思わなかったわっ。なんだろこれw
352:デフォルトの名無しさん
19/04/25 01:03:28.37 zUwJ78d6.net
× shoptとかもしらん
○ shoptとかもいらん
なんで当たり前の正解を言ったら
お前悔しがってんの?w
知識自慢したのお前じゃん
そして「は?」の意味わかっただろ。
全く見当違いのことをやろうとして、
全く見当違いの解答をしてるんだよ。
クソガキどもが
353:デフォルトの名無しさん
19/04/25 01:09:13.03 2wE9GZDh.net
そりゃ、お前が悪い。shoptもな
なんかもったいぶってるだけでだからな。自覚がないのか?さんざん偉そう俺は初心者じゃないってだけの、質問から外れたことばっかり言っている
お前が>>349を>>352で書けば終わってることだからな
俺は別にお前みたいな知識自慢したくてなんてないぞ。おまえがさんざん俺偉いというだけのような&「そうすれば正解にたどり着く」とかうやむやなこと言うからだろうに
とうとう、「クソガキども」のお言葉いただきましたっ。なんだじじいかw自称他人を自分より劣ると言える
354:デフォルトの名無しさん
19/04/25 01:11:10.67 2wE9GZDh.net
誤 お前が>>349を>>352で書けば終わってることだからな
正 お前が>>349を>>332で書けば終わってることだからな
355:デフォルトの名無しさん
19/04/25 01:15:09.23 zUwJ78d6.net
だから何をやりたいのかわかったのは
それ以降のレス読んでからだろうが
意味不明だし、馬鹿がクソな回答しやがるし
ほんと低い
356:デフォルトの名無しさん
19/04/25 01:17:21.45 2wE9GZDh.net
>だから何をやりたいのかわかったのは
イミフ。おまえもたいがい日本語ダがメだぞ?w いままでのレスの数々でも
やっぱり「俺高いお前低い」とは言いたいのね。なんでそう言いたいのか自分に問いてみような
357:デフォルトの名無しさん
19/04/25 01:19:37.90 2wE9GZDh.net
ああ、「クソガキども」のお言葉いただいたので(なんでそんなこと言いたくなったのか自分に問いてみようなw)、もういいや
358:デフォルトの名無しさん
19/04/25 01:20:59.82 zUwJ78d6.net
> なんでそう言いたいのか自分に問いてみような
邪魔だからだな。頭悪そうな兄ちゃんがきて
頭悪そうな会話をしてる。そんな感じだ。
359:デフォルトの名無しさん
19/04/25 01:23:14.93 o77IOYp5.net
そして誰もいなくなった
360:デフォルトの名無しさん
19/04/25 04:25:44.56 Q6RVSnnY.net
質問する側が馬鹿すぎると馬鹿を引き寄せるだけなんだよなあ。
まず、まともな質問をするために man を読もうよ。
361:デフォルトの名無しさん
19/04/25 09:00:30.11 XBKhyEHe.net
よくわからんが、なんで -f が出てくるんだ?
ファイルの有無が問題じゃないんだろう?
globしたかしないかが問題なんだろう?
362:デフォルトの名無しさん
19/04/25 10:40:29.00 xhj9dxYD.net
""で囲むと展開されなくて""で囲まないと複数の引数として認識するから出来ないので諦めますね
363:デフォルトの名無しさん
19/04/25 10:43:57.02 zUwJ78d6.net
>>361
globでファイル名に展開されるかどうかは
ファイル(ディレクトリなども含む)の有無で決まるから
364:デフォルトの名無しさん
19/04/25 12:49:51.00 XBKhyEHe.net
>>363
こういう奴がセキュリティホールを作り込むのかね
365:デフォルトの名無しさん
19/04/25 13:29:45.25 wpotMNKo.net
そもそも、ファイル名に、半角英数字、- _ (base64url encoding)以外を使うような、
システムを作る奴が悪い
さらに、Windows では、大文字小文字だけが異なる、ファイル名も作れないし。
例、aB, Ab
366:デフォルトの名無しさん
19/04/25 14:58:23.69 zUwJ78d6.net
>>364
セキュリティホールを作るのは、
お前のように正しく理解してないからだよ。
問題が有るというのなら言ってみな。
367:デフォルトの名無しさん
19/04/25 16:49:38.33 hZ9DlonC.net
なぜ自信満々なのか、馬鹿の頭の構造はわからないな。
368:デフォルトの名無しさん
19/04/25 20:07:34.96 zUwJ78d6.net
反論がないから
369:デフォルトの名無しさん
19/04/26 03:55:26.84 N1bTr2ZN.net
馬鹿なレスだな
370:デフォルトの名無しさん
19/04/26 04:25:43.51 Y1o8+v/L.net
シェルの歴史に詳しくなれるサイト見つけた
URLリンク(www.in-ulm.de)
371:デフォルトの名無しさん
19/05/03 15:34:52.90 m+FxQhlt.net
bashのさ、<() ってさ、sort test.txt みたいなのを sort <(cat test) って書けるから
リダイレクトを受け付けないコマンドに、一時ファイル作らずに渡せると思ったけど、
そうとはかぎらないよな?例えば、同じファイルを二回読み込むとかさ
そういうのってやっぱ一時ファイル作らないと無理だよな?
372:デフォルトの名無しさん
19/05/03 18:08:45.95 /bmAVHAq.net
>>371
パイプの概念がないのか?
sortコマンドもどこでどうなったのかを気にしないで使うというのもよくわからない。
373:デフォルトの名無しさん
19/05/03 21:10:21.19 m+FxQhlt.net
>>372
知らんがな。俺に言うなや。
そのツールが、そうなってるんだから
sortコマンドはただの例だからこれ以上追求しなくていい
てか、複数ファイルを入力したり複数ファイルを出力したりすることだって
あるんだから、必ずパイプで解決できるわけじゃない
diffコマンドとかそうだろ
374:デフォルトの名無しさん
19/05/03 21:28:48.60 wXl0ssRE.net
同じ出力のデータを分けて処理することは可能だが、なぜ魔法文にこだわっているのかがわからない。
375:デフォルトの名無しさん
19/05/03 21:31:24.78 m+FxQhlt.net
>>374
その話は関係ないから打ち切ろう
あるツールが「引数で指定した同じファイルを二回読込みしている」
そういう処理をしている。(そのツールの修正は不可能)
ここまでは理解しているかな?
376:デフォルトの名無しさん
19/05/03 21:32:23.63 m+FxQhlt.net
まあ結論としては無理ってわかってんだけどさ
bashの拡張を持ってしても
377:デフォルトの名無しさん
19/05/03 21:35:32.54 m+FxQhlt.net
あ、一時ファイル(FIFOファイル含む)作りたくないっていうのが最終的な希望ね。
メモリだけ(tmpfsや類似のメモリベースのファイルシステムやブロックデバイス除く)でやりたい。
無理ってわかってるけど。
378:デフォルトの名無しさん
19/05/03 23:01:24.06 wXl0ssRE.net
ただの無知か。
379:デフォルトの名無しさん
19/05/04 09:14:36.29 HnSBFy63.net
>>371
例がないと何を言っているか意味がよく分からない。
teeとかファイルに出力しながら標準出力にも出力しているけど、
そのようなことがbashだけで表現できればOK?
380:デフォルトの名無しさん
19/05/04 09:40:10.00 eyQzK648.net
>>379
「リダイレクトを受け付けないコマンド」例
ファイル内容と行数を表示するために「同じファイルを二回読み込む」
これは "例" でありこのコマンドの内容についてのレスは不要
実際には中身はわからずバイナリで修正不可能なものとする。
#!/bin/sh
cat "$1"
wc -l "$1"
↑このコマンドに対して、一時ファイル(FIFOファイル含む)を作らないでデータを渡す
381:デフォルトの名無しさん
19/05/04 09:47:38.10 HnSBFy63.net
>>380
ファイルを作らないでメモリだけでっていうことなら、
↓こんな感じならOKなの?
dat=$(cat $1)
382:デフォルトの名無しさん
19/05/04 09:57:48.90 eyQzK648.net
>>381
それでもいいよ
何をしたいのかわからんけど
kono-comand ?
↑?の部分になんて書く?
383:デフォルトの名無しさん
19/05/04 10:01:46.67 eyQzK648.net
明らかに読み間違えてるレスがくると疲れるんで、
一時ファイルを使った場合の例も書いておくは
これは例なんで、この例を修正しろなんてレスは不要
generate-text > /tmp/test.txt
kono-comand "/tmp/test.txt"
この一時ファイル test.txt を作りたくない
なんで?とかいう質問も不要
384:デフォルトの名無しさん
19/05/04 10:05:16.07 HnSBFy63.net
>>383
ホントに意味が分からないんだは、
上の例でもこれでいいんじゃないのと思っちゃう。
generate-text | kono-comand
だからこれを直せってほうが意味通じるかも。
385:デフォルトの名無しさん
19/05/04 10:05:29.00 ic6F2rX1.net
条件の説明が下手すぎ
386:デフォルトの名無しさん
19/05/04 10:07:09.78 eyQzK648.net
>>384
本当に疲れる。
>>371を読み返せ。
> リダイレクトを受け付けないコマンドに、一時ファイル作らずに渡せると思ったけど、
> リダイレクトを受け付けないコマンド
> リダイレクトを受け付けないコマンド
> リダイレクトを受け付けないコマンド
パイプもリダイレクトだ。
387:デフォルトの名無しさん
19/05/04 10:08:50.78 eyQzK648.net
っていうか、
generate-text | kono-comand
kono-commandの内容は上に書いたとおり↓で
> #!/bin/sh
> cat "$1"
> wc -l "$1"
修正不可能つってるんだから
これでは動きません。の一言でよかったなw
>>385
動かないコードを書いる時点で説明の問題じゃない。
388:デフォルトの名無しさん
19/05/04 10:09:39.22 ic6F2rX1.net
>>384
コマンドが標準入力をサポートしてない場合のだろう、よってパイプが使えない
標準入力サポートしていてパイプでいいだろうというコマンド例を挙げてくるとか説明が下手すぎなだけだろうなw
389:デフォルトの名無しさん
19/05/04 10:10:34.97 eyQzK648.net
>>388
あ、回答者の説明が下手すぎってことかw
390:デフォルトの名無しさん
19/05/04 10:10:41.51 ic6F2rX1.net
いつもの自信過剰な人か
391:デフォルトの名無しさん
19/05/04 10:11:55.19 eyQzK648.net
>>390
ん?今回はへこましてみるか?
俺「やっぱできないよなぁ」
→ 俺もできないと思うよ。
で終わればいいやん。
392:デフォルトの名無しさん
19/05/04 10:15:59.85 ic6F2rX1.net
標準入力もデバイス(ファイル)としてある
393:デフォルトの名無しさん
19/05/04 10:16:50.69 eyQzK648.net
URLリンク(hogem.hatenablog.com)
> diff -u hoge.out fuga.out
> diff <(./hoge) <(./fuga)
よくこんな感じで、一時ファイルを作らない例として挙げられてるけど、
これって、diffが引数のファイルを一度しか読み込まないという
内部実装に依存しているってことなんだよな。
だから複数回読み込んでいたりすると使えない。
一度しか読み込まないという仕様はないだろうから
たまたま使えたということ。
394:デフォルトの名無しさん
19/05/04 10:17:09.83 eyQzK648.net
>>392
知ってる
395:デフォルトの名無しさん
19/05/04 10:23:29.06 ic6F2rX1.net
ストリームでいいのかファイルでなければならないのか条件説明がやっぱり下手すぎ
標準入出力は普通は単なるストリームで戻ったりはしたない、一気通貫するだけ
2度読み??とかストリームでないなら当然ファイルにしなければならないだろうに、あたりまえだろう。結局あたりまえのことを確認したいだけなのか。例で上げてくるのがストリームでいいだろうのを出すから下手なんだよ
396:デフォルトの名無しさん
19/05/04 10:24:53.38 eyQzK648.net
>>395
これを満たせばいいだけ。
いい加減にしろや
「リダイレクトを受け付けないコマンド」例
ファイル内容と行数を表示するために「同じファイルを二回読み込む」
これは "例" でありこのコマンドの内容についてのレスは不要
実際には中身はわからずバイナリで修正不可能なものとする。
#!/bin/sh
cat "$1"
wc -l "$1"
↑このコマンドに対して、一時ファイル(FIFOファイル含む)を作らないでデータを渡す
397:デフォルトの名無しさん
19/05/04 10:26:01.06 eyQzK648.net
はは。catとwcでファイル読み込みを二回実行してるから、
ストリームでは無理なことにも気づいてない(笑)
マヌケか
398:デフォルトの名無しさん
19/05/04 10:26:07.92 ic6F2rX1.net
それが下手だと言ってもわからないんだな
399:デフォルトの名無しさん
19/05/04 10:27:31.82 eyQzK648.net
>>398
どこが下手なのか言ってないからね。
ストリームで不可能な例を見て、
これストリームで可能じゃん!って
言ってしまった時点で、お前の負け
400:デフォルトの名無しさん
19/05/04 10:30:40.72 eyQzK648.net
俺が言いたいのは、
> diff <(./hoge) <(./fuga)
が使えるかどうかは、コマンド(この場合はdiff)の
内部実装に依存するから、試してみるまでわからないということ、
ファイルじゃないと二度読みはできないとかそういう話はしてない。
<(./hoge)が使えるかどうかは、コマンド次第という話をしてる
どんなコマンドだって、一度読むだけで実装することは可能(メモリに読み込めばいい)
だから、<(./hoge)が使えるかどうかはやってみるまでわからんのだよな。
という話をしてる。
401:デフォルトの名無しさん
19/05/04 10:31:29.76 ic6F2rX1.net
>>384
というように、
cat "$1" | wc -l
したいわけじゃないんだよ。後は後出しでいろいろ言ってくるだろう
402:デフォルトの名無しさん
19/05/04 10:32:27.87 eyQzK648.net
ということを、とあるファイルを引数にするコマンドを
一時ファイルを作らないでやろうとして
あれ?となった次第。
そのコマンド、一度だけしか読まないでできるように思えるんだけどな。
403:デフォルトの名無しさん
19/05/04 10:33:45.55 eyQzK648.net
> cat "$1" | wc -l
> したいわけじゃないんだよ。
>>380 を読めばそれぐらいわかる
404:デフォルトの名無しさん
19/05/04 10:36:59.95 ic6F2rX1.net
catやwcなんぞ各コマンドの入力ソースはストリームでしかないので、できないことはないけどな。お前には教えないがw
405:デフォルトの名無しさん
19/05/04 10:38:28.81 eyQzK648.net
>>404
> これは "例" でありこのコマンドの内容についてのレスは不要
あーあ、やっちまった。コマンドの内容にレスしたね(笑)
406:デフォルトの名無しさん
19/05/04 10:40:23.60 ic6F2rX1.net
>>405
>>385 そう言うなら、当然これを受け入れろな
407:デフォルトの名無しさん
19/05/04 10:40:24.64 eyQzK648.net
例だから、実際にはcatやwcが使われているわけじゃないのに
catやwcなんぞとかwww
408:デフォルトの名無しさん
19/05/04 10:40:58.27 eyQzK648.net
>>406
自分の理解力のなさを自覚するように。
こっちは、ちゃんと例を出してる。
その例を満たせなかった時点でアウト
409:デフォルトの名無しさん
19/05/04 10:44:00.90 ic6F2rX1.net
コマンドの入力がストリームでいいならできる、他のなんか知らんコマンドがストリームじゃダメならできないでしかない。使用するコマンドによるでしかないだろにアホか
410:デフォルトの名無しさん
19/05/04 10:53:18.47 eyQzK648.net
> コマンドの入力がストリームでいいならできる、
そんな当たり前のことを言われてもなw
重要な点は、本来、該当のコマンドは「ファイルを指定する」前提であるということ
diffコマンドみたいにな。
それを半ば無理やり、ストリームから読み込ませる文法が
bashにはあるということ
> diff <(./hoge) <(./fuga)
だが、本来コマンドは、ファイル名を指定させる以上、ストリームを前提としているとは限らないわけで、
そういうコマンドに、bashを使って無理やりストリームで渡して動いたとしても、
それはたまたま動いただけいう話をしてる。
(コマンドの仕様で規定されてないならば)実装依存なので動くという前提に立ってはならない。
411:デフォルトの名無しさん
19/05/04 10:54:58.56 eyQzK648.net
あ、bashの拡張なんて俺は普通使わんけどなw
今回はたまたま利用可能だったってだけで
412:デフォルトの名無しさん
19/05/04 10:55:49.57 ic6F2rX1.net
では、なにを当たり前のことを延々と言っているのかね?
というような、お前のレスはこんなんばっかだな
413:デフォルトの名無しさん
19/05/04 10:56:37.92 eyQzK648.net
>>412
俺「やっぱできないよなぁ」
→ 俺もできないと思うよ。
で終わればいいやん。
414:デフォルトの名無しさん
19/05/04 10:58:48.90 eyQzK648.net
基本的に、俺が出した結論が正解なので、
最後の最後でここで他になにかないのか?と聞いても
新しいことは何もわからないというのがいつものパターン
415:デフォルトの名無しさん
19/05/04 11:00:31.72 ic6F2rX1.net
そうならないのは、
>>385,390
(実は答えは別にもあるのだが、お前には教えないw)
416:デフォルトの名無しさん
19/05/04 11:03:05.91 eyQzK648.net
>>415
その答えは俺も知ってるけどな(笑)
417:デフォルトの名無しさん
19/05/04 11:04:39.93 eyQzK648.net
そういや前にも、
他にもやり方あるけどお前には教えてやんないよ。ばーかばーか
みたいなレスあったなw
結局やり方なかったみたいだけどw
あ、今回は有るんですよね?知ってます。だって俺も知ってるからね!
418:デフォルトの名無しさん
19/05/04 11:05:09.17 ic6F2rX1.net
ほほー、よくわからんが解決してなにより
めずらしくちゃんと終えられてよかったよ
419:デフォルトの名無しさん
19/05/04 11:10:16.30 eyQzK648.net
ほほー(笑)
420:デフォルトの名無しさん
19/05/04 20:25:44.11 ifYIOobQ.net
やれやれ、何事かと思ったら……
「そのツール」って何だよ。それを書かない時点で相手にする価値が無いゴミだろ。
421:デフォルトの名無しさん
19/05/04 21:30:57.91 eyQzK648.net
ツール名聞いたって何の意味もないくせにw
じゃあgccとでも言っておこうか。一例として
422:デフォルトの名無しさん
19/05/05 00:09:54.93 v1YqewFO.net
チンピラ以下の馬鹿だな
423:デフォルトの名無しさん
19/05/05 01:20:16.53 kL93aIfd.net
なぜかシェルスクリプトのスレなのにコマンドの世界の話をしてますね。
424:デフォルトの名無しさん
19/05/05 01:55:58.03 BV99JfCS.net
シェルスクリプトはコマンドを使って組むもの。基本的なものですらコマンドだったり。
コマンドの動作がどうだから入出力がどうだからで組みもするもんだろう。
425:デフォルトの名無しさん
19/05/05 04:20:05.42 HUD7QHVp.net
いつものってことはこいつは常連客なのか
ちゃんとコテ付けてくれないと困るなぁ
426:デフォルトの名無しさん
19/05/05 13:10:37.85 ptHRpxR9.net
>>424
プログラムですよ?
427:デフォルトの名無しさん
19/05/05 19:12:30.87 Cb4SiVVu.net
なにいってんのこいつ
428:デフォルトの名無しさん
19/05/05 22:39:57.67 QbHFXZX+.net
やっぱワッチョイ導入しよーぜ
429:デフォルトの名無しさん
19/05/06 01:18:15.86 VbOWf0H0.net
やはりそれが目的ですか
430:デフォルトの名無しさん
19/05/06 13:16:54.80 UGCyqtDX.net
どういうこと?
431:デフォルトの名無しさん
19/05/11 15:19:07.32 D877RybE.net
[ string1 > string2 ] ってPOSIX準拠じゃないよね?
POSIXの範囲で(外部コマンドを使わずに)
文字列の大小の比較ってできたっけ?
432:デフォルトの名無しさん
19/05/12 02:15:32.41 0u/cIV/f.net
>>427
おまえさ、ここはシェルスクリプトのスレッドだぞ?
コマンド一発にしたいのなら、そういうコマンドを作ればいい。
UNIXの考え方は、あるものの組み合わせで実現できるものはそうすべきだが、無理やりあるものの組み合わせでやれなんて言ってない。
433:デフォルトの名無しさん
19/05/12 02:18:26.37 0u/cIV/f.net
>>431
どの言語でも、単に文字列を比較する構文は、どういう比較なのか分かりにくいから、まともなプログラマは避ける。
434:デフォルトの名無しさん
19/05/12 02:27:43.60 4QpB/QIi.net
これまた変なのが現れたな
435:デフォルトの名無しさん
19/05/12 18:06:37.34 VATOmp33.net
>>431
外部コマンドを使わないという制約なら
↓こういうのでは
string1='aaaaa'
string2='bbbb'
[ ${#string1} -le ${#string2} ]
436:デフォルトの名無しさん
19/05/12 19:46:54.27 OoMn1CYl.net
「文字列の比較」ができるという触れ込みで文字数の比較を
している言語やデータベースなんか聞いたこと無いなw
普通は現在のロケールに従って文字列の照合順序で比較のことを言う
百歩譲っても文字コード順とか
437:デフォルトの名無しさん
19/05/12 20:03:17.70 0u/cIV/f.net
>>436
文字列が同じ値かどうかの比較を忘れているのか?
438:デフォルトの名無しさん
19/05/12 22:54:11.71 OoMn1CYl.net
変なやつだったようだな
439:デフォルトの名無しさん
19/05/12 23:14:03.33 VATOmp33.net
文字数の比較じゃないのか。申し訳ない、俺の読解力が不足してた。
後学の為に訊いておきたいんだけども、文字列の比較がごく普通にできるプログラミング言語って例えばなんだろう。
440:デフォルトの名無しさん
19/05/12 23:17:08.65 OoMn1CYl.net
C言語
441:デフォルトの名無しさん
19/05/13 03:22:38.08 gc1mJry9.net
構文的ならC言語はできない方かなあと
他の(スクリプト)言語でいくらでもあるからそちらでもよかったんじゃないかと
442:デフォルトの名無しさん
19/05/13 04:40:36.56 0SM9rJAF.net
>>439
ベイシック