X



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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2020/11/24(火) 21:37:20.06ID:mbTiTj6s
シェルスクリプトに関する総合スレッドです。

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。

前スレ: シェルスクリプト総合 その34
https://mevius.5ch.net/test/read.cgi/tech/1597990675/
0781デフォルトの名無しさん
垢版 |
2021/02/03(水) 03:23:16.39ID:tGLgSWGP
>>779
あなたは時期が来たらreadでエラーを出すべきだと思いますか?
逆にそう思わないですか?

出すべき or 出すべきでない、その理由は何でしょうか?
知りたいのは「理由」です。

いま出てないから出てないんだーとかいう
現状は最初からわかってます。
0782デフォルトの名無しさん
垢版 |
2021/02/03(水) 03:36:41.39ID:BvAjTIO8
こっちはechoを使ってるのに、こっちではprintfを使ってる理由はなんですか?というレビューに対して
printfはechoじゃないから、じゃ全く答えになってないんだよな
そんな答えばっかり返してるやつはアスペだと思う

レビューでインデントはスペース4にしなさいと言っても
こっちのスクリプトは4にしなさいと言われなかったからとか言いそうw
0783デフォルトの名無しさん
垢版 |
2021/02/03(水) 04:14:56.11ID:JHLizRYo
読めなさすぎだろう、自分の頭で物事を考えなさすぎだろう
問題の本質は、
何で コマンド置換のとこのソースコード中に昔から元々あったメッセージ出力を出すようになったのか
でしかない。readとか関係ない。ソース見れば大体その雰囲気がわかるだろう
質問するなら、
どうして4.4からコマンド置換のとこでメッセージ出すようになったか
だろう。readに主題置いて聞かれたら、readはコマンド置換じゃないから という返答は特におかしくもないだろう

レビューとか下手な例え話してんじゃないよ
0784デフォルトの名無しさん
垢版 |
2021/02/03(水) 04:24:23.61ID:BvAjTIO8
>>783
本質って、最初のレス読めばわかるだろう?
>>725

> $ a=$(printf '\0\n')
> -bash: 警告: command substitution: ignored null byte in input
> っていうエラーが出るんだけどさ、これだとでない
> printf '\0\n' | read a
>
> なんでreadだとこのエラーはださないんだろう?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 誰か理由わかる?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

問題の本質は「なんでreadだとこのエラーはださないんだろう?誰か理由わかる?」
以外にありえないよ。勝手に文章に入れ替えるの"だけ"は明らかに間違いだからね
0785デフォルトの名無しさん
垢版 |
2021/02/03(水) 04:27:53.75ID:BvAjTIO8
> だろう。readに主題置いて聞かれたら、

readは主語ではありません。この文章は日本語でよくある主語の省略です。

主語を入れるなら
「なんで(開発者は)readだとこのエラーはださないんだろう?」
となり、主語は開発者です。
0786デフォルトの名無しさん
垢版 |
2021/02/03(水) 04:30:18.19ID:jQBymAxP
お前の言ってるのはトンチンカンな質問の本質(??)wだろう
問題の本質の意味が違う、てか読めねえの?普通に読めそうだと思うんだがな
トンチンカンな質問の発端がメッセージが出ることなんだろ?その疑問の発露となる問題の本質だよ、故に
何で コマンド置換のとこのソースコード中に昔から元々あったメッセージ出力を出すようになったのか
だよ

繰り返しreadではと言っておいて何を言っているのか。本当にお前は懲りないな
0787デフォルトの名無しさん
垢版 |
2021/02/03(水) 04:34:08.84ID:BvAjTIO8
文章は

「read "では"」です。
「read "が"」ではありません。

この文章を見て、readを主語だと思うのは日本語不自由な証拠です。
「コマンド置換(主語)がエラーを出している」
「read(主語)はエラーを出さない」
と勘違いしちゃったんでしょうね。


「開発者はなぜコマンド置換ではエラーを出すようにし、readでは出さなかったのか?」
という文章だと読めなかったんですか?

やっぱりアスペなんだろうな
0788デフォルトの名無しさん
垢版 |
2021/02/03(水) 04:40:15.59ID:jQBymAxP
どうして4.4からコマンド置換のとこでメッセージ出すようになったか
開発者の気分だろうwもしくはそこの部分で開発者に何らかの注文があったんだろ
コマンド置換の部分だけの修正(ソースコードからは気分としか読めないけどw)なのでコマンド置換だけの話、readは関係ない
readに主題置いて聞かれたら、readはコマンド置換じゃないから という返答は特におかしくもない
それだけの話だな

色々読めないくせに、なんか言ってる
正直何言ってるのとしか思えない。マジでそれで自分は日本語が不自由ではないと思っているなら、日本語が不自由すぎだろう。そりゃ色々読めないだろうな
0790デフォルトの名無しさん
垢版 |
2021/02/03(水) 04:43:16.91ID:BvAjTIO8
質問文 「なんで(開発者は)readだとこのエラーはださないんだろう?」

>>788のの解釈
質問分の意味は「どうして4.4からコマンド置換のとこでメッセージ出すようになったか」だな!

これだからもうw
0791デフォルトの名無しさん
垢版 |
2021/02/03(水) 04:49:04.40ID:jQBymAxP
アホな日本語講釈に事細かに反論するのも馬鹿らしいだけなのに

>>728
質問は明らかにこれです。
> なんでreadだとこのエラーはださないんだろう?

こう書いたのはどこぞの誰なんだかな。馬鹿馬鹿しい

以下ずっと。
1.コマンド置換とreadは同じであるはず/あるべきと思った
2.それが間違いだったのに自ら先に返答レスを馬鹿にした
この2つの間違いを決して認められないだけで、下手くそな小手先な誤魔化しを延々と繰り返すんだろうな
ますます馬鹿を晒してるだけなのに
0792デフォルトの名無しさん
垢版 |
2021/02/03(水) 04:50:13.13ID:BvAjTIO8
> こう書いたのはどこぞの誰なんだかな。馬鹿馬鹿しい

↓これ

> 725 自分:デフォルトの名無しさん[sage] 投稿日:2021/02/01(月) 01:32:52.47 ID:/mOfS3Su
> $ a=$(printf '\0\n')
> -bash: 警告: command substitution: ignored null byte in input
> っていうエラーが出るんだけどさ、これだとでない
> printf '\0\n' | read a
>
> なんでreadだとこのエラーはださないんだろう?
> 誰か理由わかる?
0794デフォルトの名無しさん
垢版 |
2021/02/03(水) 04:53:12.04ID:jQBymAxP
お前は馬鹿すぎて話にならんぞ
だったら、
readに主題置いて聞かれたら、readはコマンド置換じゃないから という返答は特におかしくもない
でしかないだろう
お前の小手先ごまかしがキチガイすぎて頭痛くなってくるぞ
0796デフォルトの名無しさん
垢版 |
2021/02/03(水) 04:59:06.37ID:jQBymAxP
なに言ってるの?マジキチすぎ
>誰が言ったのか書いたのに、無視すんの?
揶揄とかわからんのかw それに対しての>>794がわからんのか。レスする前にちゃんと読み返したほうがいいよ って言うくせにwww

どうして4.4からコマンド置換のとこでメッセージ出すようになったか
開発者の気分だろうwもしくはそこの部分で開発者に何らかの注文があったんだろ
コマンド置換の部分だけの修正(ソースコードからは気分としか読めないけどw)なのでコマンド置換だけの話、readは関係ない
readに主題置いて聞かれたら、readはコマンド置換じゃないから という返答は特におかしくもない

1.コマンド置換とreadは同じであるはず/あるべきと思った
2.それが間違いだったのに自ら先に返答レスを馬鹿にした
この2つの間違いを決して認められないだけ

でしかないな
0797デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:01:05.98ID:BvAjTIO8
「どうして4.4からコマンド置換のとこでメッセージ出すようになったか」
それはどれが言ったの?w

質問は明らかにこれです。
> なんでreadだとこのエラーはださないんだろう?
0798デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:02:33.40ID:jQBymAxP
レスする前にちゃんと読み返したほうがいいよ

www
阿呆らしい...いやアホだけど
0799デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:04:04.63ID:BvAjTIO8
だから質問は「なんでreadだとこのエラーはださないんだろう?」だろ
これに対して反論なかったんだが?

誰が4.4とかいい出したのか。お前か?
いつから出したとか誰も気にしてないんだが

はい、この質問に答えられる?
0800デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:05:52.97ID:jQBymAxP
レスする前にちゃんと読み返したほうがいいよ
としか言いようがない

1.コマンド置換とreadは同じであるはず/あるべきと思った
2.それが間違いだったのに自ら先に返答レスを馬鹿にした
この2つの間違いを決して認められないだけ
だけでよくそんだけ小手先の誤魔化しを続けられるな。マジキチすぎだろう
0801デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:06:58.67ID:BvAjTIO8
> 1.コマンド置換とreadは同じであるはず/あるべきと思った

思ったとか、それはお前の感想でしかない

> 2.それが間違いだったのに自ら先に返答レスを馬鹿にした

「それ」とはお前の感想である
0803デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:09:08.17ID:BvAjTIO8
ほらね。俺が言い返しても、
こいつは言い返してこない。

言い返せないというのが正しいがw
0804デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:11:25.52ID:jQBymAxP
すぐにそういう馬鹿なこと言うし
アホな小手先の誤魔化し文になんで正面からいつまでも付き合わなきゃならんねん
アホな小手先の誤魔化し文という自覚がないのか?マジキチすぎすぎだろう
0805デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:13:12.26ID:BvAjTIO8
それにコマンド置換とreadが全く違う動作をすると思ってそうだよなw
違うところがあるのは知ってるからそれは聞いてない
同じ動作をするところがあるのを、はたしてこいつは知ってるんだろうか?w

ま、また関係ない話をしてごまかすだろうな
0806デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:16:11.71ID:jQBymAxP
後付けて決めつけが始まりましたwww
ソース読んでるし、他のシェルで試してもいるし
イマイチ何のことかだが、こいつだと言い出しそうなのは大体推測できる
こんなこと言い出したのもついさっきわかったとかだろうな。違うか?w
0808デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:19:36.98ID:BvAjTIO8
だいたいさぁ command substitution: ignored null byte in input を出すなら、
read: ignored null byte in input も出すべきだって思うだろ
これに関する動作は同じなんだから

多分それも知らなかったんだろうけどな
0809デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:20:21.08ID:jQBymAxP
レスする前にちゃんと読み返したほうがいいよ

www
いい加減怒るヤツ出るだろうし、誤魔化しに付き合うのももういいってので

どうして4.4からコマンド置換のとこでメッセージ出すようになったか
開発者の気分だろうwもしくはそこの部分で開発者に何らかの注文があったんだろ
コマンド置換の部分だけの修正(ソースコードからは気分としか読めないけどw)なのでコマンド置換だけの話、readは関係ない
readに主題置いて聞かれたら、readはコマンド置換じゃないから という返答は特におかしくもない

1.コマンド置換とreadは同じであるはず/あるべきと思った
2.それが間違いだったのに自ら先に返答レスを馬鹿にした
この2つの間違いを決して認められないだけ

というだけのお話でしたとさw
0810デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:21:04.31ID:BvAjTIO8
> どうして4.4からコマンド置換のとこでメッセージ出すようになったか

誰もそんな事気にしてない
0811デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:21:20.27ID:BvAjTIO8
> 1.コマンド置換とreadは同じであるはず/あるべきと思った

同じところがありますね。
0812デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:22:16.05ID:BvAjTIO8
もうネタバレしてやると

コマンド置換とreadは、どちらも ignored null byte in input は同じなんですよ
どちらも入力のnullバイトを無視してる
0813デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:27:21.54ID:jQBymAxP
>>779ですでに書かれてることを何を一人悦に入っているのだか
すでに書かれてることを、何自分は知ってるお前(ら)は知らないと言えるんだか
>コマンド置換とreadは、どちらも ignored null byte in input は同じなんですよ
ちょっと違うんだなあ。さてどう違うでしょう?ww
0814デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:29:11.45ID:BvAjTIO8
違いはありません。どちらも同じように ignored null byte in input します。
英語わかる? 入力のNULLバイトを無視するって書いてあるんだよw
0816デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:30:41.09ID:BvAjTIO8
1. コマンド置換とreadはどちらも入力のNULLバイトを無視する
2. 質問は「なんでreadだとこのエラーはださないんだろう?」

これだけなのにreadが主語だ!とか理由わからないことを言って
ずーっと自分の勘違いをごまかしてる
0817デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:31:53.40ID:BvAjTIO8
>>815
「入力のNULLバイトを無視する」は同じですといいました。
それ以外の点では違うところがあると>>805ですでにいいました。
> 違うところがあるのは知ってるからそれは聞いてない

お前のターン(笑)
0818デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:32:05.41ID:jQBymAxP
はい出ました、また話題を変えての堂々巡り巡り
レスする前にちゃんと読み返したほうがいいよ

www
一人でやってなさい。じゃね
0820デフォルトの名無しさん
垢版 |
2021/02/03(水) 05:35:38.89ID:jQBymAxP
逃げてないよぉ
他の人に怒られるのが嫌なだけだぞw本当にお前は自分がどれほどだと思ってるねん
0824デフォルトの名無しさん
垢版 |
2021/02/03(水) 08:29:21.99ID:OYjylJSn
質問者おいてけぼりだと思ってるやつがいるらしい
そんなやついないだろう
0831デフォルトの名無しさん
垢版 |
2021/02/07(日) 19:23:43.78ID:95HB2PSV
$find . -type f -name '*.mp4' -exec sh -c "echo /Applications/Safari.app " \;
/Applications/Safari.app
/Applications/Safari.app

$find . -type f -name '*.mp4' -exec sh -c "echo $dirname /Applications/Safari.app " \;
/Applications/Safari.app
/Applications/Safari.app

$dirname /Applications/Safari.app
/Applications
どうして2番目の例ではdirnameが作用していないように見えるのですか?
0833デフォルトの名無しさん
垢版 |
2021/02/07(日) 19:30:49.83ID:urVbT3ji
$dirname /Applications/Safari.app
だと、dirnameという変数を展開しようとしてるだけだろ
dirnameというコマンドを実行するのではなく

コマンドプロンプトのとちょっと見分けづらいのでちゃんとスペースを置くべきだな
0834デフォルトの名無しさん
垢版 |
2021/02/07(日) 19:34:34.15ID:/Qje/xZk
何がしたいの?
0835デフォルトの名無しさん
垢版 |
2021/02/07(日) 19:39:40.46ID:urVbT3ji
さっぱりわからんなw
動作確認の途中なんだろう。findしても同じ結果出すだけだしな
そのうち {} とか入れたりするんだろうが、

実行したいなら $() だろう

-exec sh -c "

-exec sh -c '
でないとマズそうマズいだろうな

な感じかなあ
0837デフォルトの名無しさん
垢版 |
2021/02/07(日) 23:59:19.31ID:rB7egHB7
パラメータ展開よりbasename/dirnameコマンドのほうが分かりやすいね

~$ DIR='/ChonChon/Chon.bak'
~$ basename $DIR
Chon.bak
~$ echo ${DIR##*/}
Chon.bak
~$ basename $DIR
Chon.bak
~$ echo ${DIR#*/}
ChonChon/Chon.bak
~$ echo ${DIR##*/}
Chon.bak
~$ echo ${DIR%/*}
/ChonChon
~$ echo ${DIR%%/*}

~$ dirname $DIR
/ChonChon
0838831
垢版 |
2021/02/08(月) 00:07:37.75ID:vQsk29JM
ありがとうございます
変数になっていることに気づいていませんでした
find -exec sh -cで複数コマンドを扱うのは諦めforを使って解決しました
>>833 スペースをどう置くとどう見分けやすくなりますか?
>>834 質問に関係ある部分だけ抜き出したので意味不明なものになっています
0839デフォルトの名無しさん
垢版 |
2021/02/08(月) 01:01:47.00ID:mwZivU/L
>>837
わかりやすさ vs 実行速度の話だね
さくっとコマンド入力する時はbasenameでいいけど
シェルスクリプトであればパラメーター展開のほうがいい
0840デフォルトの名無しさん
垢版 |
2021/02/08(月) 02:02:04.12ID:MxYuS/Yw
>>838
$ find . -type f -name '*.mp4' -exec sh -c "echo $dirname /Applications/Safari.app " ¥;

$ dirname /Applications/Safari.app
0842デフォルトの名無しさん
垢版 |
2021/02/08(月) 19:08:48.56ID:0fSH6U0R
Ruby なら、glob を使う

# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/*.csv"

Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each { |full_path| puts full_path }

出力
C:/Users/Owner/Documents/a.csv
C:/Users/Owner/Documents/b.csv
0845デフォルトの名無しさん
垢版 |
2021/02/08(月) 20:15:13.87ID:luijRT1t
なぜ定期的にRubyが出てくるのか
0846842
垢版 |
2021/02/08(月) 20:50:44.33ID:0fSH6U0R
シェルスクリプトも、Windows 10, WSL2, Ubuntu 18.04, VSCode でやってる

Ruby は、Linux用・Windows用の両方を入れてる
0847デフォルトの名無しさん
垢版 |
2021/02/08(月) 20:53:25.78ID:kogF3g22
>>845
久しぶりだけどなw
なんて言われてるかは上の方であるな
トンチンカンなレスしてるとこからもトンチンカンな承認欲求なんだろう
0848831
垢版 |
2021/02/09(火) 16:10:25.08ID:KQyT9obu
>>840
ありがとうございます
0849デフォルトの名無しさん
垢版 |
2021/02/10(水) 14:26:08.93ID:BVEov/zu
Alpine?busyboxってコマンド追加した場合の競合どうなってるんですかね?
たとえばdateがGNU版と挙動が違うのでcoreutils追加したんですけど
元々/bin/dateだったのが追加後も/bin/dateのままなのに呼び出されるのはしっかりcoreutilsのに変わってます
macではdateとgdateで使い分けられたのでモヤモヤします
0850デフォルトの名無しさん
垢版 |
2021/02/10(水) 15:19:36.03ID:kdTQDXtx
汎用ではなくカスタマイズした環境前提だからそんなの気にしない
置き換わっても置き換わるのを知って作るそういう独自の環境を自ら望んで作る
0852デフォルトの名無しさん
垢版 |
2021/02/10(水) 20:16:55.68ID:kDXEbzyj
>>849
ディストリの方針次第。Debianとかだってvim-tinyを入れるか
通常のvimを入れるかで呼び出されるvimが変わる
どちらを使うかの切り替え機能も持っている

パッケージで入れる分には、入れても動作するように作られてる
パッケージで入れて壊れたらそれはディストリのバグ

Debianなんかはbusyboxを入れてもデフォルトで置き換えたりしない
alpineはbusyboxの方がデフォルトなんだから、それで動くように作られてる
それをcoreutilsに変更しても動くように作られてるだろう

macの場合、gdateを入れるのはサードパーティのHomebrew
Apple社と一切関係ないフリーソフトで、Appleは動作保証もしてないのだから
Homebrewはデフォルトで置き換えたりしない。壊れる可能性があるから
dateを置き換えられないだけで使い分ける方が便利なわけではない

そもそもbusyboxはcoreutilsのコマンドと比較して一部の機能が
実装されてないだけで、実装されてる機能に関しては互換性があるように作られてる
しかしMacのdateはBSD版なのでgdateと互換性がない
0853デフォルトの名無しさん
垢版 |
2021/02/12(金) 23:49:25.35ID:0z7QwFq3
超高速なシェルって登場しないもんかね?
JITエンジン搭載して最適化とかガシガシやるようなやつ
0856デフォルトの名無しさん
垢版 |
2021/02/13(土) 15:47:07.99ID:Ieh1QGrP
>>855
各自適当に当てはまると思うのを挙げてもらえばいいと思ったんだがw
じゃあ例えばPythonの各種実装でいいけども。
そしてJITだけが高速化の技術ではないけども。
0857デフォルトの名無しさん
垢版 |
2021/02/13(土) 15:50:58.00ID:scVpGKPS
超高速なシェルって〜という質問に対して
スクリプト言語の高速化とは違うのけと言われてもね

飴がほしいに対して
キャンディーとは違うのけと言うようなもんだよ
お前は何がいいたいのか
0858デフォルトの名無しさん
垢版 |
2021/02/13(土) 16:12:05.01ID:ZrAw7sjN
思慮が浅いからわからんのだろう
思慮が浅いからトンチンカンな疑問が湧くのだろう
0859デフォルトの名無しさん
垢版 |
2021/02/13(土) 16:14:48.15ID:Ieh1QGrP
>>857
じゃあ最初から「ちがうのけ」に対して「ノー」と言えよw
どうしてもシェルじゃないといけないのかの確認だったのだが。
もうどうでもいい。
0860デフォルトの名無しさん
垢版 |
2021/02/13(土) 16:20:51.53ID:scVpGKPS
各自適当に当てはまるといっておきながら何を言ってるんだ?

(俺の定義に当てはまるものは)ノーだ

これでお前は何のことかわかるのか?
0863デフォルトの名無しさん
垢版 |
2021/02/13(土) 16:50:09.98ID:IQ0h7Vrd
いやお前がなんだが
いつものやつもそういうレスを前にいくつかしてたからなおだな
0865デフォルトの名無しさん
垢版 |
2021/02/13(土) 16:58:17.73ID:IQ0h7Vrd
じゃあ、そういうように見えるから気をつけたほうがいいな
なぜかいきなり喧嘩腰になる>>857とか、全然意図を読めずにまだマウント取るのがメインのような>>860とかな
本当に違うんだったら、すまんかった。本当に違うなら
0866デフォルトの名無しさん
垢版 |
2021/02/13(土) 21:13:09.13ID:2KIaYprT
超高速なシェルって言ってもどこを高速化したいのか分からんね
他のスクリプト言語と違ってプロセス起動を平気でやる性質があるから
JIT実装したところで、ねえ……
0868デフォルトの名無しさん
垢版 |
2021/02/13(土) 21:48:07.63ID:TtDJ0hV3
>>866
だよな
だから誰も必要としてないから誰も作ろうともしない、
シェルスクリプトの長い歴史から見ても
変わった人(いい意味で)がやろうと出ても企画倒れかな
0869デフォルトの名無しさん
垢版 |
2021/02/14(日) 01:27:13.76ID:u5RUQBwf
デーモン起動とかにも使われるシェルスクリプトは、速さよりもちょっとでも軽いほうがええやろ。
JITなんかにメモリを使う余裕はないな。
0870デフォルトの名無しさん
垢版 |
2021/02/14(日) 14:36:19.88ID:kcgt6YrO
デーモンとかに使うのは素の/bin/shで、言う通り軽い方なのが採用されてるだろう
JIT云々はそういうのではないのだろう。今あるbashとかzshとかそういう方向の
0871デフォルトの名無しさん
垢版 |
2021/02/14(日) 15:27:49.90ID:PhDiV4m5
シェルスクリプトの高速化って結局、exprに対する$()みたいな、外部コマンドの組み込みコマンド化が原則になると思うけど、
それで行き着く先ってPerlでしかないよね

まあRob Pikeの言う通り計測しろって話ではあるので、ボトルネックが実際fork/waitじゃなければまったくの的外れだけど
0873デフォルトの名無しさん
垢版 |
2021/02/14(日) 23:21:01.83ID:Xb0b89w4
>>871
JavaScriptの言語仕様を見ればわかるけど
JavaScript自体ではファイルの読み書きはできないんだよ
つまりI/Oを伴う機能は言語仕様としては本質的に不要と言える

外部コマンドなんて殆どがI/Oなので、それらを組み込む必要はない
Perlは多数組み込んでるので良くない

JavaScriptと同じように、I/Oを必要としないものは
シェル組み込みとして、メモリ計算処理を高速化すればいい
例えばメモリだけでできる単純な値比較や計算だけでもシェルは遅い
0876デフォルトの名無しさん
垢版 |
2021/02/15(月) 00:59:58.92ID:DbVx2um6
争ってるがどこまでを指しているのかわからんが、反論してるのは複数居るだろう
確定しても意味なさげw
0877デフォルトの名無しさん
垢版 |
2021/02/15(月) 01:11:01.23ID:Yv9X0Du7
>>873
ブラウザというホスト環境にのせるために考えられた言語だからI/Oがないだけ
ホスト環境がI/OやEvent Loopを補完しないと動かないし役に立たない

そういう種類の言語の仕様にI/Oがないからといって
一般的なプログラミング言語仕様にI/Oが本質的に不要なわけない
I/O無しではどんなプログラムも役に立たないから
0878デフォルトの名無しさん
垢版 |
2021/02/15(月) 01:12:58.43ID:DbVx2um6
JavaScriptは元々はブラウザ上で動くが発端だからな
勝手にどこぞからロードしてユーザの意思に関係なく勝手に動くプログラムだからな
ローカルファイルにアクセスなんて自由にできたらどうなるか火を見るより明らか
ていうのがあって、何言ってんだかなという>>874じゃないのかな。知らんけどw
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況