シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ:
シェルスクリプト総合 その28
http://mevius.5ch.net/test/read.cgi/tech/1532397676/
探検
シェルスクリプト総合 その29
■ このスレッドは過去ログ倉庫に格納されています
2018/09/21(金) 23:34:47.98ID:/eJt2TVD
306デフォルトの名無しさん
2019/04/21(日) 12:47:47.19ID:Hx8930Ug ごめん、もうちょっとシンプルに書けた。
eval echo $(<foo.txt)
eval echo $(<foo.txt)
307デフォルトの名無しさん
2019/04/22(月) 02:03:07.74ID:KyfckjPA308デフォルトの名無しさん
2019/04/22(月) 11:54:54.98ID:c8JzoHXu 例えばさ、
bash -n -c 'a=(a b c)'
↑これはbashとして正しい文法だけどさ
sh -n -c 'a=(a b c)'
↑これは文法エラーになるじゃん? 実行していなくても
これみたいに、実行してないのにあるシェルではOKで
別のシェルではNGみたいな文法って他に何かしらない?
bash -n -c 'a=(a b c)'
↑これはbashとして正しい文法だけどさ
sh -n -c 'a=(a b c)'
↑これは文法エラーになるじゃん? 実行していなくても
これみたいに、実行してないのにあるシェルではOKで
別のシェルではNGみたいな文法って他に何かしらない?
309デフォルトの名無しさん
2019/04/22(月) 12:22:26.76ID:KyfckjPA310デフォルトの名無しさん
2019/04/22(月) 15:47:58.78ID:8XF5nS5J eval 'printf "%s\n" '$(cat foo.txt)
これprintfをシングルクォートで囲まないと改行されないのね
http://www.sample/01.jpgnhttp://www.sample/02.jpgnhみたいな結果ばかりでちょっと悩んだ
zsh使ってないけどこれはforの後の二重括弧に空白が必要だとかなんとか
{には空白がいるのにfor((が通るbashの方が不自然なのか
これprintfをシングルクォートで囲まないと改行されないのね
http://www.sample/01.jpgnhttp://www.sample/02.jpgnhみたいな結果ばかりでちょっと悩んだ
zsh使ってないけどこれはforの後の二重括弧に空白が必要だとかなんとか
{には空白がいるのにfor((が通るbashの方が不自然なのか
311デフォルトの名無しさん
2019/04/22(月) 18:28:36.64ID:i3ajZQCG export -p と export の違いってなに?
312デフォルトの名無しさん
2019/04/22(月) 18:36:38.02ID:oyNQbI7u \n の処理をだれがいつやらかすのかってとこかな。printfにやらせたいprintfに \n のまま渡さなくてはという感じ
eval printf "'%s\n'" $(cat foo.txt)
eval printf '%s\\n' $(cat foo.txt)
eval printf "'%s\n'" $(cat foo.txt)
eval printf '%s\\n' $(cat foo.txt)
313デフォルトの名無しさん
2019/04/22(月) 23:58:52.60ID:htDMK2AO そもそもなぜ eval を使うのかというと、コマンドラインの解釈において
ブレース展開がコマンド置換より前だから
コマンド置換してからブレース展開するためには
eval を使って解釈を最初からやり直す必要があるためで
しかしながら printf と "%s\n" にはその必要がないのだから、つまり
printf "%s\n" $(eval echo $(<foo.txt))
でいいんじゃないかな。
ブレース展開がコマンド置換より前だから
コマンド置換してからブレース展開するためには
eval を使って解釈を最初からやり直す必要があるためで
しかしながら printf と "%s\n" にはその必要がないのだから、つまり
printf "%s\n" $(eval echo $(<foo.txt))
でいいんじゃないかな。
314デフォルトの名無しさん
2019/04/23(火) 08:44:15.00ID:q7kwqzjj ダブルクリックで実行できるのとできないシェルスクリプトの違いって一体
whileとcaseで簡易メニュー作ってたんだけどダブルクリックしても画面に何も出ない上に
起動されたbashがCPUがかなり食ってた
無論端末から実行はしっかり通る
ls結果を外部保存するような単純な奴はダブルクリックでも正常通りなんだけど
whileとcaseで簡易メニュー作ってたんだけどダブルクリックしても画面に何も出ない上に
起動されたbashがCPUがかなり食ってた
無論端末から実行はしっかり通る
ls結果を外部保存するような単純な奴はダブルクリックでも正常通りなんだけど
315デフォルトの名無しさん
2019/04/23(火) 13:31:54.32ID:zhMneqp1 シェルスクリプト関係ない
316デフォルトの名無しさん
2019/04/23(火) 18:19:48.00ID:/EY0Mv6x317デフォルトの名無しさん
2019/04/23(火) 18:22:18.78ID:/EY0Mv6x >>314
使ってるGUIシステムがX11なら
x-terminal-emulatorなんかを使って仮想端末を立ち上げてからじゃないと
メニューみたいな端末出力を必要とするものは期待した通りに動かないよ。
使ってるGUIシステムがX11なら
x-terminal-emulatorなんかを使って仮想端末を立ち上げてからじゃないと
メニューみたいな端末出力を必要とするものは期待した通りに動かないよ。
318デフォルトの名無しさん
2019/04/23(火) 20:23:01.28ID:zVNwrrWL >>316
そうマニュアルに書いてあるだろう。なんのボケ?w
そうマニュアルに書いてあるだろう。なんのボケ?w
319デフォルトの名無しさん
2019/04/23(火) 21:51:37.02ID:zhMneqp1 模範解答
export -p がどう表示されるかはPOSIXで規定されていますが、
export がどう表示されるかは未定義です。(同じとは限りません)
つまり、exportがどうなるかはシェル毎に異なります。
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#export
更にexport -pはbashではPOSIXに反してdeclareで表示されます。
これらは各シェルのマニュアルには書いていません。
export -p がどう表示されるかはPOSIXで規定されていますが、
export がどう表示されるかは未定義です。(同じとは限りません)
つまり、exportがどうなるかはシェル毎に異なります。
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#export
更にexport -pはbashではPOSIXに反してdeclareで表示されます。
これらは各シェルのマニュアルには書いていません。
320デフォルトの名無しさん
2019/04/23(火) 22:49:27.06ID:/EY0Mv6x 模 範 解 答
321デフォルトの名無しさん
2019/04/24(水) 08:22:12.86ID:6O+4Q2Ek bashで abc*が展開できると出来ないときがあって
それをテストするのに
[ "abc*" = 'abc*' ]
とやりたいのにできません
どうやったらできますか?
それをテストするのに
[ "abc*" = 'abc*' ]
とやりたいのにできません
どうやったらできますか?
322デフォルトの名無しさん
2019/04/24(水) 17:25:06.62ID:bQUFU5ml >>321
何がどうできないのかよく分からないけどシングルクォートとダブルクォートは
処理が違うから「=」にならないと思うよ
シングルクォート側は文字列なので「abc*」っていう文字列になるけど
ダブルクォート側は解釈されるので「*」にあたるものが存在しないと何もない
状態なので「abc」って文字列になるんじゃないかな
何がどうできないのかよく分からないけどシングルクォートとダブルクォートは
処理が違うから「=」にならないと思うよ
シングルクォート側は文字列なので「abc*」っていう文字列になるけど
ダブルクォート側は解釈されるので「*」にあたるものが存在しないと何もない
状態なので「abc」って文字列になるんじゃないかな
323デフォルトの名無しさん
2019/04/24(水) 17:40:21.19ID:uakSx5ac は?
324デフォルトの名無しさん
2019/04/24(水) 17:42:31.98ID:6O+4Q2Ek abc*が展開できない時はそのままabc*になるのでそう思って書いてみました
325デフォルトの名無しさん
2019/04/24(水) 18:28:22.30ID:6T3A9gnL abc* というファイルが実際にあるというというのは除外でいいのね?
326デフォルトの名無しさん
2019/04/24(水) 18:32:06.10ID:6O+4Q2Ek ええです
327デフォルトの名無しさん
2019/04/24(水) 18:45:29.21ID:6T3A9gnL ダブルクォートで囲んでも囲んじゃうとglob展開は行われない変数などのようには。(>>322見るとデフォでは??展開できるなんかあっったかなあ)
[ "$(echo abc*)" = "abc*" ]
とかかな
any='abc*'; [ "$(echo $any)" = "$any" ]
[ "$(echo abc*)" = "abc*" ]
とかかな
any='abc*'; [ "$(echo $any)" = "$any" ]
328デフォルトの名無しさん
2019/04/24(水) 19:43:12.00ID:uakSx5ac 日本語がダメな奴と日本語がダメな奴が
初心者同士の会話をしてる。
ついていけない。
初心者同士の会話をしてる。
ついていけない。
329デフォルトの名無しさん
2019/04/24(水) 19:56:20.38ID:6O+4Q2Ek >>327
ありがとうございます
echoを使わずできたらお願いします
無理なら諦めます
ありがとうございます
echoを使わずできたらお願いします
無理なら諦めます
330デフォルトの名無しさん
2019/04/24(水) 20:25:30.92ID:6T3A9gnL331デフォルトの名無しさん
2019/04/24(水) 20:29:18.25ID:6T3A9gnL332デフォルトの名無しさん
2019/04/24(水) 21:08:22.56ID:uakSx5ac 何をやりたいのかわからない。
端末にecho *って入力して
あぁ、展開されましたねって
確認すりゃいいだけじゃんか
なんで[ ]とか使うのか
端末にecho *って入力して
あぁ、展開されましたねって
確認すりゃいいだけじゃんか
なんで[ ]とか使うのか
333デフォルトの名無しさん
2019/04/24(水) 21:16:12.73ID:6T3A9gnL >>332
お前が何言っているのかわからない
シェルスクリプトで判断してなにかその後にする部分のことを聞いてきているのだろう。その判断するとこだけを書いているのだろうと読むと思うけど
(日本語どうの言うなら、他人の日本語より自分の日本語を疑った方がいいようなw)
お前が何言っているのかわからない
シェルスクリプトで判断してなにかその後にする部分のことを聞いてきているのだろう。その判断するとこだけを書いているのだろうと読むと思うけど
(日本語どうの言うなら、他人の日本語より自分の日本語を疑った方がいいようなw)
334デフォルトの名無しさん
2019/04/24(水) 21:29:00.43ID:6T3A9gnL >bashで abc*が展開できると出来ないときがあって
abc* としても、該当するものがあってglob展開する場合と、該当するものがなくてglob展開しない(出来ない=globのまま)ときがあって
>それをテストするのに
展開できなかった場合はマズいので(とかなんとで)、それをテストするのに
[ "abc*" = 'abc*' ]
>とやりたいのにできません
としてみましたが、思ったようになりません
だよ。たぶんw
abc* としても、該当するものがあってglob展開する場合と、該当するものがなくてglob展開しない(出来ない=globのまま)ときがあって
>それをテストするのに
展開できなかった場合はマズいので(とかなんとで)、それをテストするのに
[ "abc*" = 'abc*' ]
>とやりたいのにできません
としてみましたが、思ったようになりません
だよ。たぶんw
335デフォルトの名無しさん
2019/04/24(水) 22:15:49.65ID:kFXKi6KY Ruby で該当するファイル数を数えれば?
それが、0 なら、該当なし
p Dir.glob( 'C:/Users/Owner/Documents/*.txt' ).length #=> 0
それが、0 なら、該当なし
p Dir.glob( 'C:/Users/Owner/Documents/*.txt' ).length #=> 0
336デフォルトの名無しさん
2019/04/24(水) 22:19:13.46ID:uakSx5ac337デフォルトの名無しさん
2019/04/24(水) 22:37:08.62ID:6T3A9gnL338デフォルトの名無しさん
2019/04/24(水) 22:39:35.88ID:6T3A9gnL 読めなかったらのをごまかすためにむちゃくちゃ言っているんだな
うん。そゆことにしとこ。でないとアレだなということで
うん。そゆことにしとこ。でないとアレだなということで
339デフォルトの名無しさん
2019/04/24(水) 22:49:53.80ID:uakSx5ac だーかーらー、いつもどおりのやってるやり方で展開して
それをチェックすればいいだけだろと
それをチェックすればいいだけだろと
340デフォルトの名無しさん
2019/04/24(水) 23:04:43.57ID:6T3A9gnL ぜんぜん「だーかーらー」でもなんでもないな。お前の言っていることはわからん
どうも自称初心者じゃない自称日本語ダメじゃない人の自分の脳の世界でなんか言ってるとしか見えない
お前の言う初心者の ID:6T3A9gnL は >>327 ので不満があるようだがそれでも答えになってるらしいぞ
お前の変な言い分はお前のためでしかなく、他に対する目的も意味もない。マウントとりたいだけのお前には意味があってもな。マウントとりたいから延々続くのか?
どうも自称初心者じゃない自称日本語ダメじゃない人の自分の脳の世界でなんか言ってるとしか見えない
お前の言う初心者の ID:6T3A9gnL は >>327 ので不満があるようだがそれでも答えになってるらしいぞ
お前の変な言い分はお前のためでしかなく、他に対する目的も意味もない。マウントとりたいだけのお前には意味があってもな。マウントとりたいから延々続くのか?
341デフォルトの名無しさん
2019/04/24(水) 23:06:17.58ID:6T3A9gnL 誤 お前の言う初心者の ID:6T3A9gnL は
正 お前の言う初心者の ID:6O+4Q2Ek は
なんかすまん
正 お前の言う初心者の ID:6O+4Q2Ek は
なんかすまん
342デフォルトの名無しさん
2019/04/24(水) 23:14:58.44ID:uakSx5ac > お前の言う初心者の ID:6T3A9gnL は >>327 ので不満があるようだがそれでも答えになってるらしいぞ
だからなんなのか知らんが、お前ら、いつもどおりの展開ってecho使ってんのか?
使ってないだろ。いつもどおりの使えばいいだけなのに、
悩んで(?)別の方法模索してるから、意味不明だって言ってるんだよ。
質問者にも回答者にも
だからなんなのか知らんが、お前ら、いつもどおりの展開ってecho使ってんのか?
使ってないだろ。いつもどおりの使えばいいだけなのに、
悩んで(?)別の方法模索してるから、意味不明だって言ってるんだよ。
質問者にも回答者にも
343デフォルトの名無しさん
2019/04/24(水) 23:22:52.75ID:6T3A9gnL344デフォルトの名無しさん
2019/04/24(水) 23:54:51.80ID:uakSx5ac 展開されるかどうかの確認はそれでいいし、
プログラムでならいつもどおりのやり方で展開すればいい
何をやりたいのかわからないのに、どちらの話かわかるわけないだろ
どちらにしろ「は?」なわけだが
プログラムでならいつもどおりのやり方で展開すればいい
何をやりたいのかわからないのに、どちらの話かわかるわけないだろ
どちらにしろ「は?」なわけだが
345デフォルトの名無しさん
2019/04/25(木) 00:00:15.44ID:SQ7d9Ur4 すでにお前に対して「は?」だよ
346デフォルトの名無しさん
2019/04/25(木) 00:02:54.32ID:zUwJ78d6 っていうか、正しいやり方知らんのか?
echo使って検査するんじゃないぞ(それじゃできない)
echo使って検査するんじゃないぞ(それじゃできない)
347デフォルトの名無しさん
2019/04/25(木) 00:05:34.10ID:zUwJ78d6 それじゃできないっていうのはコレな
> abc* というファイルが実際にあるというというのは除外でいいのね?
abc* というファイルが実際にあることも考慮するやり方をするべき
そうすれば正解にたどり着く
> abc* というファイルが実際にあるというというのは除外でいいのね?
abc* というファイルが実際にあることも考慮するやり方をするべき
そうすれば正解にたどり着く
348デフォルトの名無しさん
2019/04/25(木) 00:16:01.39ID:2wE9GZDh ダメな場合もあるのはわかって聞いているんだけど。本人がいいっていったからそれに合わせてだよ
だれかみたいに「すべき」とか強要するつもりも知識自慢したくてたまらないとかもないからな。その最後のといい、なんか偉そうにしたいのね、質問者の意図とか読まずに、知識自慢するためのw質問者の他の情報も引き出そうともせずに
shopt使うとかいう知識自慢だったら笑うぞ。別にabc*という実ファイルがあった場合でものshopt使わずにの方法もあるけどな
だれかみたいに「すべき」とか強要するつもりも知識自慢したくてたまらないとかもないからな。その最後のといい、なんか偉そうにしたいのね、質問者の意図とか読まずに、知識自慢するためのw質問者の他の情報も引き出そうともせずに
shopt使うとかいう知識自慢だったら笑うぞ。別にabc*という実ファイルがあった場合でものshopt使わずにの方法もあるけどな
349デフォルトの名無しさん
2019/04/25(木) 00:21:59.00ID:zUwJ78d6 本当に差があるやつとの会話は疲れるw
> bashで abc*が展開できると出来ないときがあって
展開でするやり方知っってるよな?それ使え
> それをテストするのに
展開できないことのテストはいらん
お前が知ってるはずの、展開するやり方を使って、
-f (もしくは -d や -e 等)で、その名前の
そのファイルが実査に有るかどうかを調べるだけ
shoptとかもしらん
> bashで abc*が展開できると出来ないときがあって
展開でするやり方知っってるよな?それ使え
> それをテストするのに
展開できないことのテストはいらん
お前が知ってるはずの、展開するやり方を使って、
-f (もしくは -d や -e 等)で、その名前の
そのファイルが実査に有るかどうかを調べるだけ
shoptとかもしらん
350デフォルトの名無しさん
2019/04/25(木) 00:22:22.15ID:zUwJ78d6 実査 -> 実際
351デフォルトの名無しさん
2019/04/25(木) 00:34:11.93ID:2wE9GZDh やっぱり、まだわかってないんだな、「展開〜」という質問を
shoptとかもしらん....
-f とか、まさかそんな「当たり前の」こと言い出すとは
まさか「その程度」だとは思わなかったわっ。なんだろこれw
shoptとかもしらん....
-f とか、まさかそんな「当たり前の」こと言い出すとは
まさか「その程度」だとは思わなかったわっ。なんだろこれw
352デフォルトの名無しさん
2019/04/25(木) 01:03:28.37ID:zUwJ78d6 × shoptとかもしらん
○ shoptとかもいらん
なんで当たり前の正解を言ったら
お前悔しがってんの?w
知識自慢したのお前じゃん
そして「は?」の意味わかっただろ。
全く見当違いのことをやろうとして、
全く見当違いの解答をしてるんだよ。
クソガキどもが
○ shoptとかもいらん
なんで当たり前の正解を言ったら
お前悔しがってんの?w
知識自慢したのお前じゃん
そして「は?」の意味わかっただろ。
全く見当違いのことをやろうとして、
全く見当違いの解答をしてるんだよ。
クソガキどもが
353デフォルトの名無しさん
2019/04/25(木) 01:09:13.03ID:2wE9GZDh354デフォルトの名無しさん
2019/04/25(木) 01:11:10.67ID:2wE9GZDh355デフォルトの名無しさん
2019/04/25(木) 01:15:09.23ID:zUwJ78d6 だから何をやりたいのかわかったのは
それ以降のレス読んでからだろうが
意味不明だし、馬鹿がクソな回答しやがるし
ほんと低い
それ以降のレス読んでからだろうが
意味不明だし、馬鹿がクソな回答しやがるし
ほんと低い
356デフォルトの名無しさん
2019/04/25(木) 01:17:21.45ID:2wE9GZDh >だから何をやりたいのかわかったのは
イミフ。おまえもたいがい日本語ダがメだぞ?w いままでのレスの数々でも
やっぱり「俺高いお前低い」とは言いたいのね。なんでそう言いたいのか自分に問いてみような
イミフ。おまえもたいがい日本語ダがメだぞ?w いままでのレスの数々でも
やっぱり「俺高いお前低い」とは言いたいのね。なんでそう言いたいのか自分に問いてみような
357デフォルトの名無しさん
2019/04/25(木) 01:19:37.90ID:2wE9GZDh ああ、「クソガキども」のお言葉いただいたので(なんでそんなこと言いたくなったのか自分に問いてみようなw)、もういいや
358デフォルトの名無しさん
2019/04/25(木) 01:20:59.82ID:zUwJ78d6 > なんでそう言いたいのか自分に問いてみような
邪魔だからだな。頭悪そうな兄ちゃんがきて
頭悪そうな会話をしてる。そんな感じだ。
邪魔だからだな。頭悪そうな兄ちゃんがきて
頭悪そうな会話をしてる。そんな感じだ。
359デフォルトの名無しさん
2019/04/25(木) 01:23:14.93ID:o77IOYp5 そして誰もいなくなった
360デフォルトの名無しさん
2019/04/25(木) 04:25:44.56ID:Q6RVSnnY 質問する側が馬鹿すぎると馬鹿を引き寄せるだけなんだよなあ。
まず、まともな質問をするために man を読もうよ。
まず、まともな質問をするために man を読もうよ。
361デフォルトの名無しさん
2019/04/25(木) 09:00:30.11ID:XBKhyEHe よくわからんが、なんで -f が出てくるんだ?
ファイルの有無が問題じゃないんだろう?
globしたかしないかが問題なんだろう?
ファイルの有無が問題じゃないんだろう?
globしたかしないかが問題なんだろう?
362デフォルトの名無しさん
2019/04/25(木) 10:40:29.00ID:xhj9dxYD ""で囲むと展開されなくて""で囲まないと複数の引数として認識するから出来ないので諦めますね
363デフォルトの名無しさん
2019/04/25(木) 10:43:57.02ID:zUwJ78d6364デフォルトの名無しさん
2019/04/25(木) 12:49:51.00ID:XBKhyEHe >>363
こういう奴がセキュリティホールを作り込むのかね
こういう奴がセキュリティホールを作り込むのかね
365デフォルトの名無しさん
2019/04/25(木) 13:29:45.25ID:wpotMNKo そもそも、ファイル名に、半角英数字、- _ (base64url encoding)以外を使うような、
システムを作る奴が悪い
さらに、Windows では、大文字小文字だけが異なる、ファイル名も作れないし。
例、aB, Ab
システムを作る奴が悪い
さらに、Windows では、大文字小文字だけが異なる、ファイル名も作れないし。
例、aB, Ab
366デフォルトの名無しさん
2019/04/25(木) 14:58:23.69ID:zUwJ78d6367デフォルトの名無しさん
2019/04/25(木) 16:49:38.33ID:hZ9DlonC なぜ自信満々なのか、馬鹿の頭の構造はわからないな。
368デフォルトの名無しさん
2019/04/25(木) 20:07:34.96ID:zUwJ78d6 反論がないから
369デフォルトの名無しさん
2019/04/26(金) 03:55:26.84ID:N1bTr2ZN 馬鹿なレスだな
370デフォルトの名無しさん
2019/04/26(金) 04:25:43.51ID:Y1o8+v/L シェルの歴史に詳しくなれるサイト見つけた
https://www.in-ulm.de/~mascheck/
https://www.in-ulm.de/~mascheck/
371デフォルトの名無しさん
2019/05/03(金) 15:34:52.90ID:m+FxQhlt bashのさ、<() ってさ、sort test.txt みたいなのを sort <(cat test) って書けるから
リダイレクトを受け付けないコマンドに、一時ファイル作らずに渡せると思ったけど、
そうとはかぎらないよな?例えば、同じファイルを二回読み込むとかさ
そういうのってやっぱ一時ファイル作らないと無理だよな?
リダイレクトを受け付けないコマンドに、一時ファイル作らずに渡せると思ったけど、
そうとはかぎらないよな?例えば、同じファイルを二回読み込むとかさ
そういうのってやっぱ一時ファイル作らないと無理だよな?
372デフォルトの名無しさん
2019/05/03(金) 18:08:45.95ID:/bmAVHAq373デフォルトの名無しさん
2019/05/03(金) 21:10:21.19ID:m+FxQhlt >>372
知らんがな。俺に言うなや。
そのツールが、そうなってるんだから
sortコマンドはただの例だからこれ以上追求しなくていい
てか、複数ファイルを入力したり複数ファイルを出力したりすることだって
あるんだから、必ずパイプで解決できるわけじゃない
diffコマンドとかそうだろ
知らんがな。俺に言うなや。
そのツールが、そうなってるんだから
sortコマンドはただの例だからこれ以上追求しなくていい
てか、複数ファイルを入力したり複数ファイルを出力したりすることだって
あるんだから、必ずパイプで解決できるわけじゃない
diffコマンドとかそうだろ
374デフォルトの名無しさん
2019/05/03(金) 21:28:48.60ID:wXl0ssRE 同じ出力のデータを分けて処理することは可能だが、なぜ魔法文にこだわっているのかがわからない。
375デフォルトの名無しさん
2019/05/03(金) 21:31:24.78ID:m+FxQhlt376デフォルトの名無しさん
2019/05/03(金) 21:32:23.63ID:m+FxQhlt まあ結論としては無理ってわかってんだけどさ
bashの拡張を持ってしても
bashの拡張を持ってしても
377デフォルトの名無しさん
2019/05/03(金) 21:35:32.54ID:m+FxQhlt あ、一時ファイル(FIFOファイル含む)作りたくないっていうのが最終的な希望ね。
メモリだけ(tmpfsや類似のメモリベースのファイルシステムやブロックデバイス除く)でやりたい。
無理ってわかってるけど。
メモリだけ(tmpfsや類似のメモリベースのファイルシステムやブロックデバイス除く)でやりたい。
無理ってわかってるけど。
378デフォルトの名無しさん
2019/05/03(金) 23:01:24.06ID:wXl0ssRE ただの無知か。
379デフォルトの名無しさん
2019/05/04(土) 09:14:36.29ID:HnSBFy63380デフォルトの名無しさん
2019/05/04(土) 09:40:10.00ID:eyQzK648 >>379
「リダイレクトを受け付けないコマンド」例
ファイル内容と行数を表示するために「同じファイルを二回読み込む」
これは "例" でありこのコマンドの内容についてのレスは不要
実際には中身はわからずバイナリで修正不可能なものとする。
#!/bin/sh
cat "$1"
wc -l "$1"
↑このコマンドに対して、一時ファイル(FIFOファイル含む)を作らないでデータを渡す
「リダイレクトを受け付けないコマンド」例
ファイル内容と行数を表示するために「同じファイルを二回読み込む」
これは "例" でありこのコマンドの内容についてのレスは不要
実際には中身はわからずバイナリで修正不可能なものとする。
#!/bin/sh
cat "$1"
wc -l "$1"
↑このコマンドに対して、一時ファイル(FIFOファイル含む)を作らないでデータを渡す
381デフォルトの名無しさん
2019/05/04(土) 09:47:38.10ID:HnSBFy63382デフォルトの名無しさん
2019/05/04(土) 09:57:48.90ID:eyQzK648383デフォルトの名無しさん
2019/05/04(土) 10:01:46.67ID:eyQzK648 明らかに読み間違えてるレスがくると疲れるんで、
一時ファイルを使った場合の例も書いておくは
これは例なんで、この例を修正しろなんてレスは不要
generate-text > /tmp/test.txt
kono-comand "/tmp/test.txt"
この一時ファイル test.txt を作りたくない
なんで?とかいう質問も不要
一時ファイルを使った場合の例も書いておくは
これは例なんで、この例を修正しろなんてレスは不要
generate-text > /tmp/test.txt
kono-comand "/tmp/test.txt"
この一時ファイル test.txt を作りたくない
なんで?とかいう質問も不要
384デフォルトの名無しさん
2019/05/04(土) 10:05:16.07ID:HnSBFy63385デフォルトの名無しさん
2019/05/04(土) 10:05:29.00ID:ic6F2rX1 条件の説明が下手すぎ
386デフォルトの名無しさん
2019/05/04(土) 10:07:09.78ID:eyQzK648387デフォルトの名無しさん
2019/05/04(土) 10:08:50.78ID:eyQzK648 っていうか、
generate-text | kono-comand
kono-commandの内容は上に書いたとおり↓で
> #!/bin/sh
> cat "$1"
> wc -l "$1"
修正不可能つってるんだから
これでは動きません。の一言でよかったなw
>>385
動かないコードを書いる時点で説明の問題じゃない。
generate-text | kono-comand
kono-commandの内容は上に書いたとおり↓で
> #!/bin/sh
> cat "$1"
> wc -l "$1"
修正不可能つってるんだから
これでは動きません。の一言でよかったなw
>>385
動かないコードを書いる時点で説明の問題じゃない。
388デフォルトの名無しさん
2019/05/04(土) 10:09:39.22ID:ic6F2rX1389デフォルトの名無しさん
2019/05/04(土) 10:10:34.97ID:eyQzK648 >>388
あ、回答者の説明が下手すぎってことかw
あ、回答者の説明が下手すぎってことかw
390デフォルトの名無しさん
2019/05/04(土) 10:10:41.51ID:ic6F2rX1 いつもの自信過剰な人か
391デフォルトの名無しさん
2019/05/04(土) 10:11:55.19ID:eyQzK648392デフォルトの名無しさん
2019/05/04(土) 10:15:59.85ID:ic6F2rX1 標準入力もデバイス(ファイル)としてある
393デフォルトの名無しさん
2019/05/04(土) 10:16:50.69ID:eyQzK648 https://hogem.hatenablog.com/entry/20090530/1243612485
> diff -u hoge.out fuga.out
> diff <(./hoge) <(./fuga)
よくこんな感じで、一時ファイルを作らない例として挙げられてるけど、
これって、diffが引数のファイルを一度しか読み込まないという
内部実装に依存しているってことなんだよな。
だから複数回読み込んでいたりすると使えない。
一度しか読み込まないという仕様はないだろうから
たまたま使えたということ。
> diff -u hoge.out fuga.out
> diff <(./hoge) <(./fuga)
よくこんな感じで、一時ファイルを作らない例として挙げられてるけど、
これって、diffが引数のファイルを一度しか読み込まないという
内部実装に依存しているってことなんだよな。
だから複数回読み込んでいたりすると使えない。
一度しか読み込まないという仕様はないだろうから
たまたま使えたということ。
394デフォルトの名無しさん
2019/05/04(土) 10:17:09.83ID:eyQzK648 >>392
知ってる
知ってる
395デフォルトの名無しさん
2019/05/04(土) 10:23:29.06ID:ic6F2rX1 ストリームでいいのかファイルでなければならないのか条件説明がやっぱり下手すぎ
標準入出力は普通は単なるストリームで戻ったりはしたない、一気通貫するだけ
2度読み??とかストリームでないなら当然ファイルにしなければならないだろうに、あたりまえだろう。結局あたりまえのことを確認したいだけなのか。例で上げてくるのがストリームでいいだろうのを出すから下手なんだよ
標準入出力は普通は単なるストリームで戻ったりはしたない、一気通貫するだけ
2度読み??とかストリームでないなら当然ファイルにしなければならないだろうに、あたりまえだろう。結局あたりまえのことを確認したいだけなのか。例で上げてくるのがストリームでいいだろうのを出すから下手なんだよ
396デフォルトの名無しさん
2019/05/04(土) 10:24:53.38ID:eyQzK648 >>395
これを満たせばいいだけ。
いい加減にしろや
「リダイレクトを受け付けないコマンド」例
ファイル内容と行数を表示するために「同じファイルを二回読み込む」
これは "例" でありこのコマンドの内容についてのレスは不要
実際には中身はわからずバイナリで修正不可能なものとする。
#!/bin/sh
cat "$1"
wc -l "$1"
↑このコマンドに対して、一時ファイル(FIFOファイル含む)を作らないでデータを渡す
これを満たせばいいだけ。
いい加減にしろや
「リダイレクトを受け付けないコマンド」例
ファイル内容と行数を表示するために「同じファイルを二回読み込む」
これは "例" でありこのコマンドの内容についてのレスは不要
実際には中身はわからずバイナリで修正不可能なものとする。
#!/bin/sh
cat "$1"
wc -l "$1"
↑このコマンドに対して、一時ファイル(FIFOファイル含む)を作らないでデータを渡す
397デフォルトの名無しさん
2019/05/04(土) 10:26:01.06ID:eyQzK648 はは。catとwcでファイル読み込みを二回実行してるから、
ストリームでは無理なことにも気づいてない(笑)
マヌケか
ストリームでは無理なことにも気づいてない(笑)
マヌケか
398デフォルトの名無しさん
2019/05/04(土) 10:26:07.92ID:ic6F2rX1 それが下手だと言ってもわからないんだな
399デフォルトの名無しさん
2019/05/04(土) 10:27:31.82ID:eyQzK648400デフォルトの名無しさん
2019/05/04(土) 10:30:40.72ID:eyQzK648 俺が言いたいのは、
> diff <(./hoge) <(./fuga)
が使えるかどうかは、コマンド(この場合はdiff)の
内部実装に依存するから、試してみるまでわからないということ、
ファイルじゃないと二度読みはできないとかそういう話はしてない。
<(./hoge)が使えるかどうかは、コマンド次第という話をしてる
どんなコマンドだって、一度読むだけで実装することは可能(メモリに読み込めばいい)
だから、<(./hoge)が使えるかどうかはやってみるまでわからんのだよな。
という話をしてる。
> diff <(./hoge) <(./fuga)
が使えるかどうかは、コマンド(この場合はdiff)の
内部実装に依存するから、試してみるまでわからないということ、
ファイルじゃないと二度読みはできないとかそういう話はしてない。
<(./hoge)が使えるかどうかは、コマンド次第という話をしてる
どんなコマンドだって、一度読むだけで実装することは可能(メモリに読み込めばいい)
だから、<(./hoge)が使えるかどうかはやってみるまでわからんのだよな。
という話をしてる。
401デフォルトの名無しさん
2019/05/04(土) 10:31:29.76ID:ic6F2rX1402デフォルトの名無しさん
2019/05/04(土) 10:32:27.87ID:eyQzK648 ということを、とあるファイルを引数にするコマンドを
一時ファイルを作らないでやろうとして
あれ?となった次第。
そのコマンド、一度だけしか読まないでできるように思えるんだけどな。
一時ファイルを作らないでやろうとして
あれ?となった次第。
そのコマンド、一度だけしか読まないでできるように思えるんだけどな。
403デフォルトの名無しさん
2019/05/04(土) 10:33:45.55ID:eyQzK648404デフォルトの名無しさん
2019/05/04(土) 10:36:59.95ID:ic6F2rX1 catやwcなんぞ各コマンドの入力ソースはストリームでしかないので、できないことはないけどな。お前には教えないがw
405デフォルトの名無しさん
2019/05/04(土) 10:38:28.81ID:eyQzK648406デフォルトの名無しさん
2019/05/04(土) 10:40:23.60ID:ic6F2rX1■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】日本代表MF 中村敬斗 ボリビア戦のスーパーゴールに「惚れるわ」「痺れる程のゴールこれでご飯何杯いけるのよ」 [阿弥陀ヶ峰★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
- 結婚しないやつは異性は嫌いなの?
