シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
前スレ: シェルスクリプト総合 その34
https://mevius.5ch.net/test/read.cgi/tech/1597990675/
シェルスクリプト総合 その35
レス数が950を超えています。1000を超えると書き込みができなくなります。
2020/11/24(火) 21:37:20.06ID:mbTiTj6s
866デフォルトの名無しさん
2021/02/13(土) 21:13:09.13ID:2KIaYprT 超高速なシェルって言ってもどこを高速化したいのか分からんね
他のスクリプト言語と違ってプロセス起動を平気でやる性質があるから
JIT実装したところで、ねえ……
他のスクリプト言語と違ってプロセス起動を平気でやる性質があるから
JIT実装したところで、ねえ……
867デフォルトの名無しさん
2021/02/13(土) 21:18:19.57ID:GplYrMVz868デフォルトの名無しさん
2021/02/13(土) 21:48:07.63ID:TtDJ0hV3869デフォルトの名無しさん
2021/02/14(日) 01:27:13.76ID:u5RUQBwf デーモン起動とかにも使われるシェルスクリプトは、速さよりもちょっとでも軽いほうがええやろ。
JITなんかにメモリを使う余裕はないな。
JITなんかにメモリを使う余裕はないな。
870デフォルトの名無しさん
2021/02/14(日) 14:36:19.88ID:kcgt6YrO デーモンとかに使うのは素の/bin/shで、言う通り軽い方なのが採用されてるだろう
JIT云々はそういうのではないのだろう。今あるbashとかzshとかそういう方向の
JIT云々はそういうのではないのだろう。今あるbashとかzshとかそういう方向の
871デフォルトの名無しさん
2021/02/14(日) 15:27:49.90ID:PhDiV4m5 シェルスクリプトの高速化って結局、exprに対する$()みたいな、外部コマンドの組み込みコマンド化が原則になると思うけど、
それで行き着く先ってPerlでしかないよね
まあRob Pikeの言う通り計測しろって話ではあるので、ボトルネックが実際fork/waitじゃなければまったくの的外れだけど
それで行き着く先ってPerlでしかないよね
まあRob Pikeの言う通り計測しろって話ではあるので、ボトルネックが実際fork/waitじゃなければまったくの的外れだけど
872デフォルトの名無しさん
2021/02/14(日) 18:02:37.21ID:zXgJS0zG シェルで使えるってだけならRUSTが速そうだけど
873デフォルトの名無しさん
2021/02/14(日) 23:21:01.83ID:Xb0b89w4 >>871
JavaScriptの言語仕様を見ればわかるけど
JavaScript自体ではファイルの読み書きはできないんだよ
つまりI/Oを伴う機能は言語仕様としては本質的に不要と言える
外部コマンドなんて殆どがI/Oなので、それらを組み込む必要はない
Perlは多数組み込んでるので良くない
JavaScriptと同じように、I/Oを必要としないものは
シェル組み込みとして、メモリ計算処理を高速化すればいい
例えばメモリだけでできる単純な値比較や計算だけでもシェルは遅い
JavaScriptの言語仕様を見ればわかるけど
JavaScript自体ではファイルの読み書きはできないんだよ
つまりI/Oを伴う機能は言語仕様としては本質的に不要と言える
外部コマンドなんて殆どがI/Oなので、それらを組み込む必要はない
Perlは多数組み込んでるので良くない
JavaScriptと同じように、I/Oを必要としないものは
シェル組み込みとして、メモリ計算処理を高速化すればいい
例えばメモリだけでできる単純な値比較や計算だけでもシェルは遅い
874デフォルトの名無しさん
2021/02/14(日) 23:39:01.27ID:u5RUQBwf >>873
おまえ、いつものポジキチやろ?
おまえ、いつものポジキチやろ?
875デフォルトの名無しさん
2021/02/14(日) 23:58:12.52ID:Xb0b89w4 >>874
違うけど、お前はいつもの「ポジキチと争ってるやつ」ってことは確定かなw
違うけど、お前はいつもの「ポジキチと争ってるやつ」ってことは確定かなw
876デフォルトの名無しさん
2021/02/15(月) 00:59:58.92ID:DbVx2um6 争ってるがどこまでを指しているのかわからんが、反論してるのは複数居るだろう
確定しても意味なさげw
確定しても意味なさげw
877デフォルトの名無しさん
2021/02/15(月) 01:11:01.23ID:Yv9X0Du7 >>873
ブラウザというホスト環境にのせるために考えられた言語だからI/Oがないだけ
ホスト環境がI/OやEvent Loopを補完しないと動かないし役に立たない
そういう種類の言語の仕様にI/Oがないからといって
一般的なプログラミング言語仕様にI/Oが本質的に不要なわけない
I/O無しではどんなプログラムも役に立たないから
ブラウザというホスト環境にのせるために考えられた言語だからI/Oがないだけ
ホスト環境がI/OやEvent Loopを補完しないと動かないし役に立たない
そういう種類の言語の仕様にI/Oがないからといって
一般的なプログラミング言語仕様にI/Oが本質的に不要なわけない
I/O無しではどんなプログラムも役に立たないから
878デフォルトの名無しさん
2021/02/15(月) 01:12:58.43ID:DbVx2um6 JavaScriptは元々はブラウザ上で動くが発端だからな
勝手にどこぞからロードしてユーザの意思に関係なく勝手に動くプログラムだからな
ローカルファイルにアクセスなんて自由にできたらどうなるか火を見るより明らか
ていうのがあって、何言ってんだかなという>>874じゃないのかな。知らんけどw
勝手にどこぞからロードしてユーザの意思に関係なく勝手に動くプログラムだからな
ローカルファイルにアクセスなんて自由にできたらどうなるか火を見るより明らか
ていうのがあって、何言ってんだかなという>>874じゃないのかな。知らんけどw
879デフォルトの名無しさん
2021/02/15(月) 01:13:50.12ID:DbVx2um6 あ、なんか被ったw
880デフォルトの名無しさん
2021/02/16(火) 03:00:19.59ID:An9FQZDm >>877
C言語にも、I/Oないよ
C言語にも、I/Oないよ
881デフォルトの名無しさん
2021/02/16(火) 03:21:55.67ID:jKfE5F96 >>880
だから、#includeだったりリンカオプションだったり、めんどくさい準備が必要なんだけどな。
だから、#includeだったりリンカオプションだったり、めんどくさい準備が必要なんだけどな。
882デフォルトの名無しさん
2021/02/16(火) 06:35:07.01ID:ZcpmZlC/ 関係ないだろ
883デフォルトの名無しさん
2021/02/16(火) 10:30:49.70ID:2fDc5cBr >>880
嘘ついちゃだめ
嘘ついちゃだめ
884デフォルトの名無しさん
2021/02/16(火) 10:43:13.65ID:ZcpmZlC/ 言語とライブラリの区別をつけたほうが良いと思うよ
885デフォルトの名無しさん
2021/02/16(火) 11:56:09.07ID:VrzH5GTZ C言語を持ち出すのはアセンブリに無いと言っているようなもんだな
どういう意味かわかるかな?
どういう意味かわかるかな?
886デフォルトの名無しさん
2021/02/16(火) 12:22:40.92ID:jKfE5F96887デフォルトの名無しさん
2021/02/16(火) 13:03:01.94ID:VrzH5GTZ アセンブリ言語に無いのは当たり前なのはわかるね?
でもアセンブリでもファイルI/Oはできるよね?
C言語はアセンブリに近しい言語だというのはわかる?
だったら「言語仕様」としては無いのは普通と言える
アセンブリでファイルI/Oはアセンブリで記述したライブラリ(サブルーチン)を用いるのと同じように
てか「言語仕様」としては無いが、原典である K&R C でもすでにファイルI/Oに関しては記述があるし、
それに則っての標準としてのライブラリが「必ず」あるだろうから、言語仕様としてないあれはライブラリというのは無理筋だな
プログラミング言語だからとどれも一緒の扱いにするのが間違いでもあるな
でもアセンブリでもファイルI/Oはできるよね?
C言語はアセンブリに近しい言語だというのはわかる?
だったら「言語仕様」としては無いのは普通と言える
アセンブリでファイルI/Oはアセンブリで記述したライブラリ(サブルーチン)を用いるのと同じように
てか「言語仕様」としては無いが、原典である K&R C でもすでにファイルI/Oに関しては記述があるし、
それに則っての標準としてのライブラリが「必ず」あるだろうから、言語仕様としてないあれはライブラリというのは無理筋だな
プログラミング言語だからとどれも一緒の扱いにするのが間違いでもあるな
888デフォルトの名無しさん
2021/02/16(火) 13:06:51.96ID:VrzH5GTZ889デフォルトの名無しさん
2021/02/16(火) 16:08:25.47ID:An9FQZDm >>885
例えば8086のOUT命令はアセンブリにないことになってるの?
例えば8086のOUT命令はアセンブリにないことになってるの?
890デフォルトの名無しさん
2021/02/16(火) 16:14:30.97ID:jKfE5F96891デフォルトの名無しさん
2021/02/16(火) 16:32:25.56ID:VrzH5GTZ892デフォルトの名無しさん
2021/02/16(火) 16:47:09.77ID:VrzH5GTZ 初版とかどうなのかと思い探したらあった。いいないんたーねっつは
CHAPTER 7: INPUT AND OUTPUT
Input and output facilities are not part of the C language, so we have
de-emphasized them in our presentation thus far. Nonetheless, real pro-
grams do interact with their environment in much more complicated ways
than those we have shown before. In this chapter we will describe “the
standard I/O library,” a set of functions designed to provide a standard I/O
system for C programs. The functions are intended to present a convenient
programming interface, yet reflect only operations that can be provided on
most modern operating systems. The routines are efficient enough that
users should seldom feel the need to circumvent them “for efficiency”
regardless of how critical the application. Finally, the routines are meant to
be “portable,” in the sense that they will exist in compatible form on any
system where C exists, and that programs which confine their system
interactions to facilities provided by the standard library can be moved from
one system to another essentially without change.
We will not try to describe the entire I/O library here; we are more
interested in showing the essentials of writing C programs that interact with
their operating system environment.
CHAPTER 7: INPUT AND OUTPUT
Input and output facilities are not part of the C language, so we have
de-emphasized them in our presentation thus far. Nonetheless, real pro-
grams do interact with their environment in much more complicated ways
than those we have shown before. In this chapter we will describe “the
standard I/O library,” a set of functions designed to provide a standard I/O
system for C programs. The functions are intended to present a convenient
programming interface, yet reflect only operations that can be provided on
most modern operating systems. The routines are efficient enough that
users should seldom feel the need to circumvent them “for efficiency”
regardless of how critical the application. Finally, the routines are meant to
be “portable,” in the sense that they will exist in compatible form on any
system where C exists, and that programs which confine their system
interactions to facilities provided by the standard library can be moved from
one system to another essentially without change.
We will not try to describe the entire I/O library here; we are more
interested in showing the essentials of writing C programs that interact with
their operating system environment.
893デフォルトの名無しさん
2021/02/16(火) 16:51:36.76ID:VrzH5GTZ K&R The C Program Language が Cの原典ではないというなら話にならないからもう知らないw
フリースタンディング環境とやらののうちのどこぞの環境でファイルI/Oがないなんて、>>888と似たようなもんだろうとしか思えない
フリースタンディング環境とやらののうちのどこぞの環境でファイルI/Oがないなんて、>>888と似たようなもんだろうとしか思えない
894デフォルトの名無しさん
2021/02/16(火) 16:59:57.69ID:VrzH5GTZ895デフォルトの名無しさん
2021/02/16(火) 20:04:17.80ID:jKfE5F96 なぜC言語の話が出るのか?
なぜアセンブリの話が出るのか?
と飛躍がありすぎて、なんの話なのか、まったくわからん。w
>>893
K&Rなんか、今となっては怪しい歴史書やろ。w
記紀とか聖書とかから現実を語ることはできまい。
なぜアセンブリの話が出るのか?
と飛躍がありすぎて、なんの話なのか、まったくわからん。w
>>893
K&Rなんか、今となっては怪しい歴史書やろ。w
記紀とか聖書とかから現実を語ることはできまい。
896デフォルトの名無しさん
2021/02/16(火) 20:43:15.59ID:K7YXHG1n 自分のそれ関連でレスしておいて何言ってんだか
897デフォルトの名無しさん
2021/02/16(火) 20:46:48.66ID:K7YXHG1n かと思ったら、以下も何言ってんだかだよ
冗談で逃げただけか??
マジならお前がそう思うならそうなんだろな、お前の頭の中ではなんとかかんとかw
見損なったのぞお前w
冗談で逃げただけか??
マジならお前がそう思うならそうなんだろな、お前の頭の中ではなんとかかんとかw
見損なったのぞお前w
898デフォルトの名無しさん
2021/02/16(火) 21:04:42.04ID:fDzgwbS2 シェルスクリプトスレはいつ見ても
キチ vs キチのマウンティング合戦
サル山でもこうはならない
キチ vs キチのマウンティング合戦
サル山でもこうはならない
899デフォルトの名無しさん
2021/02/16(火) 21:26:41.96ID:ZcpmZlC/ シェルスクリプトではライブラリに相当するものは外部コマンド
900デフォルトの名無しさん
2021/02/17(水) 02:52:50.69ID:1QKhelwr そうよ
だからそれをブラックボックスとして扱うんだ
だからそれをブラックボックスとして扱うんだ
901デフォルトの名無しさん
2021/02/17(水) 03:06:40.89ID:1QKhelwr 逆に全然枯れてないし俺環上等で本業のジョブ管理に役立つツールの話はもっとするべきだと思う
gnu parallelとかcoprocとか
gnu parallelとかcoprocとか
902デフォルトの名無しさん
2021/02/17(水) 03:13:44.11ID:PIB5BTik gnu parallel使うぐらいなら自力実装したほうが楽だと思うわ
coprocは知ってるけど使う理由が見当たらない
coprocは知ってるけど使う理由が見当たらない
903デフォルトの名無しさん
2021/02/18(木) 09:30:54.83ID:oVgZds3b シス管やデータサイエンティストとかのparallelヘビーユーザーではないんで効率は気にしてないけど、まあ変な文字の扱いが良くなったxargsとして便利だと思う
配るスクリプトならより普及してるxargsに置き換えた方が良いと思うけど
Perl実装だしいっそ同梱もありだと思うが
配るスクリプトならより普及してるxargsに置き換えた方が良いと思うけど
Perl実装だしいっそ同梱もありだと思うが
904デフォルトの名無しさん
2021/02/18(木) 09:35:31.03ID:sRdwF113 ライセンス問題ないならね
905デフォルトの名無しさん
2021/02/18(木) 09:43:20.87ID:qR1rH4Mn だから並列処理ぐらい自分で実装しろよw
906デフォルトの名無しさん
2021/02/18(木) 09:50:29.23ID:sRdwF113 バイオ系のやつが使ってるけどddで割って割り当てると朝には落ち出るとか
情報出身じゃないのでなんか変な事してる可能性はあるが
情報出身じゃないのでなんか変な事してる可能性はあるが
907デフォルトの名無しさん
2021/02/18(木) 09:56:32.04ID:qR1rH4Mn 落ち出るのかソレは大変だな
908デフォルトの名無しさん
2021/02/18(木) 09:56:32.14ID:TY4RxIDt ローカルな並列処理はmakeでいいわ
途中で止めても簡単に再開できる
途中で止めても簡単に再開できる
909デフォルトの名無しさん
2021/02/18(木) 10:15:23.24ID:sRdwF113 >>905
ちゃんとスケジュールするの割と大変じゃね?
フォアグラウンドでジョブ走らせたから別端末からアタッチ、5秒毎にpsしてコアの稼働率グラフ作ったが、シヌソイドみたいに振動してる
局所性とのTradeオフがあるから単に分ければいい訳じゃない
一度アフィニティー設定したら終わりじゃなくて、スループット監視しながら、少なくともPID制御程度のロジックは書かなきゃならんだろ
ちゃんとスケジュールするの割と大変じゃね?
フォアグラウンドでジョブ走らせたから別端末からアタッチ、5秒毎にpsしてコアの稼働率グラフ作ったが、シヌソイドみたいに振動してる
局所性とのTradeオフがあるから単に分ければいい訳じゃない
一度アフィニティー設定したら終わりじゃなくて、スループット監視しながら、少なくともPID制御程度のロジックは書かなきゃならんだろ
910デフォルトの名無しさん
2021/02/18(木) 11:02:26.51ID:sRdwF113 >>908
欲張ってパイプ繋げて失敗するのあるある
だからと言ってteeでディスクに中間結果流すとボトルネックになるし
でもバッファリングを乗っ取ってコマンド実行するstdbufを最近知って捗った
二段以上繋ぐと前後のバッファリングモードの影響をモロに受けてた、特にいつも両脇挟まれるteeが…
コマンドがputc連打してるのか、printfにちゃんと改行付けてるのか、と調べるよりオプション全部試した方が早いね
欲張ってパイプ繋げて失敗するのあるある
だからと言ってteeでディスクに中間結果流すとボトルネックになるし
でもバッファリングを乗っ取ってコマンド実行するstdbufを最近知って捗った
二段以上繋ぐと前後のバッファリングモードの影響をモロに受けてた、特にいつも両脇挟まれるteeが…
コマンドがputc連打してるのか、printfにちゃんと改行付けてるのか、と調べるよりオプション全部試した方が早いね
911デフォルトの名無しさん
2021/02/18(木) 11:04:00.77ID:sRdwF113 make色々活用してる人居るよな
試してみる、ありがとう
試してみる、ありがとう
912デフォルトの名無しさん
2021/02/21(日) 04:01:15.96ID:N+CZPwAr913デフォルトの名無しさん
2021/02/21(日) 12:39:32.90ID:kbkbRMiR シェルスクリプトってPOSIX準拠っていうか/bin/shを使うと
/bin/shの実体がいろんなシェルの場合があるから互換性問題に悩まされるな
bashだけしかなければ互換性問題に悩まされることはないが
交換可能性がある(つまりbashと同等の別の実装)があると
互換性問題に悩まされて、いろんなシェルに対応しようとすると
保守や移植のコストが増大してしまうな
/bin/shの実体がいろんなシェルの場合があるから互換性問題に悩まされるな
bashだけしかなければ互換性問題に悩まされることはないが
交換可能性がある(つまりbashと同等の別の実装)があると
互換性問題に悩まされて、いろんなシェルに対応しようとすると
保守や移植のコストが増大してしまうな
914デフォルトの名無しさん
2021/02/21(日) 13:50:25.30ID:lCWmWEmE いわゆるbashismはUbuntuが/bin/shをbashからdashに変えてシステムの数あるスクリプトが動かないがあるのに気づいたのが発端でしかない
dashに変えたのはただ軽いからという理由でしかないし、dashに対応もしくはシバンを適切にという対応が終わってしまってる
いろんなシェルに対応しようとするというニーズはきわめて限られてるか、ただの空想だろな
dashに変えたのはただ軽いからという理由でしかないし、dashに対応もしくはシバンを適切にという対応が終わってしまってる
いろんなシェルに対応しようとするというニーズはきわめて限られてるか、ただの空想だろな
915デフォルトの名無しさん
2021/02/21(日) 23:37:24.17ID:D6Gyi0vA POSIX準拠すれば可搬性があるって言うけどあれ嘘なんだよね
そもそもシェルが完全にPOSIXに準拠してるわけじゃなくて互換性がないから
/bin/shを使ったとしても強制的にbashを使わされる環境ある
もちろん互換性がまったくないとは言わないよ
でもPythonのバージョンが違っていて動かなくなったって話と同じぐらい
別のシェルで動かなくなったって話がでる
そもそもシェルが完全にPOSIXに準拠してるわけじゃなくて互換性がないから
/bin/shを使ったとしても強制的にbashを使わされる環境ある
もちろん互換性がまったくないとは言わないよ
でもPythonのバージョンが違っていて動かなくなったって話と同じぐらい
別のシェルで動かなくなったって話がでる
916デフォルトの名無しさん
2021/02/21(日) 23:47:08.70ID:O3wCOSqq bashはアプリと思ってわざわざインストールするものと
思えばいいんじゃ
高機能でメモリ食う
たまたまshとかぶってる
思えばいいんじゃ
高機能でメモリ食う
たまたまshとかぶってる
917デフォルトの名無しさん
2021/02/22(月) 00:00:35.75ID:04l4cBcD >>915
可搬性はある
だが、Write once, run anywhere ってことは絶対ではない
もしかしたら問題が起こることもあるが、そんな場合でも修正はそうでないより少なくて済む
くらいなかな
可搬性はある
だが、Write once, run anywhere ってことは絶対ではない
もしかしたら問題が起こることもあるが、そんな場合でも修正はそうでないより少なくて済む
くらいなかな
918デフォルトの名無しさん
2021/02/22(月) 00:29:31.87ID:Vv8+u1qd POSIX準拠はOKだけど、POSIXコマンド縛りはアホなんだよな
例えば普通にgawkを使えばいい
gawkが提供する機能はPOSIXのawkの機能を超えていて一部互換性はないけど
gawkのソースコード自体はPOSIX準拠なんだから
どのOSでもインストールすれば使うことが出来る。
POSIXコマンド縛りは言い換えれば、インストールしない縛りでしかなくて
便利なものをインストールしないなら、開発コストが上がりますよという話
いろんな環境に移植されてる便利なコマンド(bashとかgawkとかgsedとか)を
インストールしてOKという前提に立てば、それらを使ったほうが
移植性を犠牲にすること無く開発コストは下げられる
例えば普通にgawkを使えばいい
gawkが提供する機能はPOSIXのawkの機能を超えていて一部互換性はないけど
gawkのソースコード自体はPOSIX準拠なんだから
どのOSでもインストールすれば使うことが出来る。
POSIXコマンド縛りは言い換えれば、インストールしない縛りでしかなくて
便利なものをインストールしないなら、開発コストが上がりますよという話
いろんな環境に移植されてる便利なコマンド(bashとかgawkとかgsedとか)を
インストールしてOKという前提に立てば、それらを使ったほうが
移植性を犠牲にすること無く開発コストは下げられる
919デフォルトの名無しさん
2021/02/22(月) 00:33:24.80ID:Vv8+u1qd あとPOSIXコマンド縛り(インストールなし縛り)にすれば20年後でも動くぜ
ただし開発コストが上がるから、弊社が作った独自コマンドをインストールしろよな!
っていうのは矛盾しまくりw
そんな独自コマンドをインストールするなら
各OSに広く移植されてるコマンドをインストールしたほうがいい
例えばrubyとかpythonとかな
ただし開発コストが上がるから、弊社が作った独自コマンドをインストールしろよな!
っていうのは矛盾しまくりw
そんな独自コマンドをインストールするなら
各OSに広く移植されてるコマンドをインストールしたほうがいい
例えばrubyとかpythonとかな
920デフォルトの名無しさん
2021/02/22(月) 00:43:28.47ID:CFqWxJ8Z そう無闇に否定するのも無闇にPOSIX準拠を押し付けるのと変わりないな
921デフォルトの名無しさん
2021/02/22(月) 00:49:11.43ID:Vv8+u1qd むやみに否定してるんじゃなくて
理由を言いながら否定してるから問題ないでしょ?
理由を言いながら否定してるから問題ないでしょ?
922デフォルトの名無しさん
2021/02/22(月) 00:50:52.03ID:CFqWxJ8Z 否定したいだけというのを無闇にという
923デフォルトの名無しさん
2021/02/22(月) 00:53:08.85ID:Vv8+u1qd https://dictionary.goo.ne.jp/word/%E7%84%A1%E9%97%87/
1 結果や是非を考えないで、いちずに物事をすること。また、そのさま。「―な約束はしない方がよい」
2 物事の状態が度を超えて甚だしいさま。ひどい。「―に金がかかる」
どちらにも当てはまらない
1 結果や是非を考えないで、いちずに物事をすること。また、そのさま。「―な約束はしない方がよい」
2 物事の状態が度を超えて甚だしいさま。ひどい。「―に金がかかる」
どちらにも当てはまらない
924デフォルトの名無しさん
2021/02/22(月) 00:55:37.40ID:CFqWxJ8Z 結果や是非を考えないで、いちずに物事をすること
に当たるだろうwわかりやすくいうと非しか考えてないだな
に当たるだろうwわかりやすくいうと非しか考えてないだな
925デフォルトの名無しさん
2021/02/22(月) 00:56:39.64ID:Vv8+u1qd 結果や是非を述べて否定してるだろ?
926デフォルトの名無しさん
2021/02/22(月) 00:58:09.47ID:CFqWxJ8Z 是非があるのに非しか言ってないという自覚がないんじゃ話にならない
その読めなさは
その読めなさは
927デフォルトの名無しさん
2021/02/22(月) 00:58:51.57ID:Vv8+u1qd もう一回述べるか?
POSIXコマンド縛りをしないほうが
高い移植性に加えて開発コストの削減を実現できるのだから
POSIXコマンド縛りはアホ
POSIXコマンド縛りをしないほうが
高い移植性に加えて開発コストの削減を実現できるのだから
POSIXコマンド縛りはアホ
928デフォルトの名無しさん
2021/02/22(月) 01:00:10.74ID:CFqWxJ8Z 無闇だなww
話が通じないのはわかった
話が通じないのはわかった
929デフォルトの名無しさん
2021/02/22(月) 01:00:15.42ID:Vv8+u1qd930デフォルトの名無しさん
2021/02/22(月) 01:01:23.37ID:CFqWxJ8Z POSIX準拠には利点もあるし欠点もある
適時もしくは各々の好みで好きにしろってだけだな
適時もしくは各々の好みで好きにしろってだけだな
931デフォルトの名無しさん
2021/02/22(月) 01:02:56.43ID:Vv8+u1qd POSIX準拠じゃなくてPOSIXコマンド縛りなw
POSIX準拠だとgawkのソースコードもPOSIXに準拠してるだろ
じゃあお前がPOSIXコマンド縛りの是非を考えて
是となる部分を言えばいいじゃん
何も言ってないのはお前の方だぞ
POSIX準拠だとgawkのソースコードもPOSIXに準拠してるだろ
じゃあお前がPOSIXコマンド縛りの是非を考えて
是となる部分を言えばいいじゃん
何も言ってないのはお前の方だぞ
932デフォルトの名無しさん
2021/02/22(月) 01:04:37.72ID:CFqWxJ8Z933デフォルトの名無しさん
2021/02/22(月) 01:06:46.96ID:Vv8+u1qd いいから早くPOSIXコマンド縛りの
是の部分を言えよw
是の部分を言えよw
934デフォルトの名無しさん
2021/02/22(月) 01:07:15.01ID:Vv8+u1qd 918 名前:デフォルトの名無しさん[sage] 投稿日:2021/02/22(月) 00:29:31.87 ID:Vv8+u1qd [1/9]
POSIX準拠はOKだけど、POSIXコマンド縛りはアホなんだよな
例えば普通にgawkを使えばいい
POSIX準拠はOKだけど、POSIXコマンド縛りはアホなんだよな
例えば普通にgawkを使えばいい
935デフォルトの名無しさん
2021/02/22(月) 01:08:23.33ID:CFqWxJ8Z >POSIX準拠の利点とそう変わらない
これがわからないんだったら語る資格はない
俺はあんたのママではないぞ
もう全て語ってるからあとはあんた次第、頑張れ
これがわからないんだったら語る資格はない
俺はあんたのママではないぞ
もう全て語ってるからあとはあんた次第、頑張れ
936デフォルトの名無しさん
2021/02/22(月) 01:13:01.92ID:Vv8+u1qd 「POSIXコマンド縛りの是の部分を言え」
という言葉の意味がわかりませんか?
という言葉の意味がわかりませんか?
937デフォルトの名無しさん
2021/02/22(月) 01:23:33.23ID:Vv8+u1qd POSIXにはPOSIX socketやPOSIX スレッドなど多くのAPIを含んでいるが
POSIXコマンドはPOSIX全体のごく一部しか利用しておらず
POSIXコマンド縛り=POSIXの一部しか使えない制限 という意味でもある
POSIX(C言語中心のOSとのインターフェース)は必要だから作っれたけだが
POSIXの一部しか使えないPOSIXは、必要なものが使えないということを意味する
POSIXコマンドはPOSIX全体のごく一部しか利用しておらず
POSIXコマンド縛り=POSIXの一部しか使えない制限 という意味でもある
POSIX(C言語中心のOSとのインターフェース)は必要だから作っれたけだが
POSIXの一部しか使えないPOSIXは、必要なものが使えないということを意味する
938デフォルトの名無しさん
2021/02/22(月) 01:25:24.66ID:Vv8+u1qd 訂正
POSIX(C言語中心のOSとのインターフェース)は必要だから作られたわけだが
POSIXの一部しか使えないPOSIXコマンドは、必要なものが使えないということを意味する
POSIX(C言語中心のOSとのインターフェース)は必要だから作られたわけだが
POSIXの一部しか使えないPOSIXコマンドは、必要なものが使えないということを意味する
939デフォルトの名無しさん
2021/02/22(月) 01:30:49.08ID:hF/C7ALs POSIX準拠にはPOSIXで規定されたコマンドおよびコマンドのオプションだけを利用することを規定してるのもあるな
940デフォルトの名無しさん
2021/02/22(月) 02:19:05.57ID:Vv8+u1qd > 規定してるのもあるな
なんの話してるんだよw
そんなものないって言ったら
あるって言って証拠出してくれるんだよな?
なんの話してるんだよw
そんなものないって言ったら
あるって言って証拠出してくれるんだよな?
941デフォルトの名無しさん
2021/02/22(月) 02:37:55.58ID:96ZdxkXC キチガイがまた暴れてる
942デフォルトの名無しさん
2021/02/22(月) 03:05:20.65ID:pc9xVD8t gawkやRubyなんかを使うくらいならPerlを使うべき。
異論の余地はない。
異論の余地はない。
943デフォルトの名無しさん
2021/02/22(月) 04:19:52.69ID:Ti3ZPwKy 簡単なシェルスクリプトならググらず書けるようになった新参者だけど、
オプションの法則に統一性ないのが一番解せないわ
ショートオプションはハイフンの後が一文字っていうけどfindの-typeからして守ってないしさ
wgetにも-nvがあるけど既に形骸化してんの?
オプションの法則に統一性ないのが一番解せないわ
ショートオプションはハイフンの後が一文字っていうけどfindの-typeからして守ってないしさ
wgetにも-nvがあるけど既に形骸化してんの?
944デフォルトの名無しさん
2021/02/22(月) 05:47:22.05ID:Vv8+u1qd945デフォルトの名無しさん
2021/02/22(月) 12:30:54.33ID:CSMFeOjN メモリが安価になったという意味で時代は変わったんだから
組込含めてdashを選ぶ必要性はないでしょ
POSIX準拠なんてかつては大衆芸能だったが今では伝統芸能で
保存対象になるつつある歌舞伎みたいなもんだよ
組込含めてdashを選ぶ必要性はないでしょ
POSIX準拠なんてかつては大衆芸能だったが今では伝統芸能で
保存対象になるつつある歌舞伎みたいなもんだよ
946デフォルトの名無しさん
2021/02/22(月) 13:38:19.02ID:DHZuB9bv947デフォルトの名無しさん
2021/02/22(月) 13:42:31.76ID:pc9xVD8t >>943
ロングオプションなんかぐにゅの後出しみたいなもんやし、互換性のほうが重要やし、しゃあない。
統一性を期待するもんでも、守る守らないを議論するもんでもない。
コマンドラインの世界は、ただ混沌を受け入れるのみ。。。
ロングオプションなんかぐにゅの後出しみたいなもんやし、互換性のほうが重要やし、しゃあない。
統一性を期待するもんでも、守る守らないを議論するもんでもない。
コマンドラインの世界は、ただ混沌を受け入れるのみ。。。
948デフォルトの名無しさん
2021/02/22(月) 14:06:32.02ID:G00ce5gO ロングオプションっていうかハイフン2個で始まるオプションに関しては統一されてる
変なオプションがあるのはハイフン1個で始まるやつ
もし今からオプションを規格化するとしたら、俺なら
-で始まるのは一文字のオプションだけ。オプションの引数はなし
--で始まるのはロングオプションで、オプションの引数はあって無くてもよいが
ある場合は --long=value みたいに必ずハイフンでつなげること
--long value形式は無しってルールにするだろうな
そうしないとオプションの解析は面倒くさすぎる
変なオプションがあるのはハイフン1個で始まるやつ
もし今からオプションを規格化するとしたら、俺なら
-で始まるのは一文字のオプションだけ。オプションの引数はなし
--で始まるのはロングオプションで、オプションの引数はあって無くてもよいが
ある場合は --long=value みたいに必ずハイフンでつなげること
--long value形式は無しってルールにするだろうな
そうしないとオプションの解析は面倒くさすぎる
949デフォルトの名無しさん
2021/02/22(月) 14:28:14.65ID:7dAnGrvt 2020年代にもなってオプション解析を自前でやらなきゃいけないという時代錯誤感よ
950デフォルトの名無しさん
2021/02/22(月) 14:49:21.32ID:G00ce5gO 自分でやりたくないならライブラリでも使えば?
951デフォルトの名無しさん
2021/02/22(月) 14:53:50.85ID:pc9xVD8t >>948
今さら「俺」ルールなんかいらんわ。w
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/getopt.3.html
もっとも、これを使うも使わないも、個々の自由。。。
今さら「俺」ルールなんかいらんわ。w
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/getopt.3.html
もっとも、これを使うも使わないも、個々の自由。。。
952デフォルトの名無しさん
2021/02/22(月) 19:20:10.80ID:G00ce5gO953デフォルトの名無しさん
2021/02/22(月) 21:20:04.93ID:CSMFeOjN >>946
シェバンに/bin/bash、 debian/control に Depends: bash って書くがよい
シェバンに/bin/bash、 debian/control に Depends: bash って書くがよい
954デフォルトの名無しさん
2021/02/22(月) 21:48:09.71ID:G30bzgiW 何か作業しようとするときにログインがbashかそうでないかは重要
955デフォルトの名無しさん
2021/02/22(月) 22:36:34.00ID:pc9xVD8t956デフォルトの名無しさん
2021/02/22(月) 22:47:21.38ID:DTTWlGhR957デフォルトの名無しさん
2021/02/22(月) 22:54:09.71ID:G00ce5gO >>951はC言語のインターフェースじゃんw
ロングオプションにも対応してないし
ロングオプションにも対応してないし
958デフォルトの名無しさん
2021/02/22(月) 23:05:43.02ID:DTTWlGhR よく読め。色々よく読め
959デフォルトの名無しさん
2021/02/22(月) 23:05:58.69ID:UEjjQNjA シェルで標準的に使われてるのってgetoptかgetoptsじゃないの?
どっちも微妙だけど
どっちも微妙だけど
960デフォルトの名無しさん
2021/02/22(月) 23:33:06.17ID:gzMW+qbC getoptはPOSIX準拠じゃないうえにMacで挙動が違うしな
961デフォルトの名無しさん
2021/02/24(水) 21:20:00.07ID:5t0N0rwK 現行ディレクトリ直下にあるファイルを日付順に処理したい。
dateの-dオプションと'%s'書式を使ったやりかた
(-dオプションにlsの出力の日付欄を渡して,%s書式でsortに回しやすい形式に変換する)
は思い付くのだが,できればもうちょっと汎用性のあるやりかたでやりたい。
それこそAlpine Linuxでもできるようなやりかた,せめてSUS準拠くらいで。
dateの-dオプションと'%s'書式を使ったやりかた
(-dオプションにlsの出力の日付欄を渡して,%s書式でsortに回しやすい形式に変換する)
は思い付くのだが,できればもうちょっと汎用性のあるやりかたでやりたい。
それこそAlpine Linuxでもできるようなやりかた,せめてSUS準拠くらいで。
962デフォルトの名無しさん
2021/02/24(水) 21:42:59.94ID:MoKQog7D lsでソート出力すればいいじゃん
963デフォルトの名無しさん
2021/02/24(水) 22:44:33.75ID:2EpFMX6w Alpine LinuxだのSUS準拠だの言ってるくせに...
964デフォルトの名無しさん
2021/02/25(木) 00:58:03.42ID:YHeeVxEb965デフォルトの名無しさん
2021/02/25(木) 01:17:21.10ID:/S7F+Ehi 最近はマニュアル読まないで人に聞く豆腐が増えたよな
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【社会】40代以上のおじさん・おばさんは叩いてオッケーという風潮はなぜ加速したのか [七波羅探題★]
- 自分に自信がない女の子、陽キャ美容室で80cmのエクステを付けた結果wwwwwwwwwwwwwwwwwww [329329848]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 農林水産省「春頃にはコメ価格落ち着くのでは」新米の取引価格、過去最高を更新。 [256556981]
