2024-01-07

anond:20240107184931

高級なスクリプト言語でも標準ライブラリインタプリタバグは踏むときは踏むし

バグとかじゃなくて、開発者が把握してない動作の話なんだが、

シェルスクリプト使用したコマンドのすべての挙動を把握している?

使用予定のオプションだけでも出力結果のすべてのパターンを把握している?

人が手て使うことを想定された曖昧さの残るコマンドと、高級言語機械が使うことが前提の曖昧さの少ない機能だと全然違うものだと思うが

頻繁なセキュリティアップデート必要ない

そんな事無いよね。Linuxサーバ保守とかでパッチノートとか読んだこと無い?

インストールし終わったらほとんどアップデートしてない凄まじい運用してるんならあれだけど

「よく検証されている」というのはされているかいないかというバイナリーな概念ではなく程度問題なので、UNIXの標準コマンド高級言語の標準ライブラリなら標準コマンドの方が"遥かに"よく検証されているし

論理的じゃないよね

肥大化しそうならその時に改めて高級な言語システムを作ったらよろしい

そもそもシェルスクリプトが規模が大きくなると信頼できないその場しのぎ的な技術であることを認めているよね

  • 別にcronからキックできるのはシェルスクリプトだけじゃないよね。 はあ、それがなにか できるのはシェルスクリプトだけじゃないけど、シェルスクリプトをキックしているプロダク...

    • ヤバいって言ってるだけだが。 シェルスクリプトの問題点について考えたこと無い?

      • いや別にヤバくないけど インタプリタ自体も含めて、よくテストされてコードの内容も大勢の人間に検証されている標準コマンドの組み合わせでバッチ処理できるならそれに越したこと...

        • シェルで使われてるコマンドってドキュメント化されてない機能多すぎて入出力が全然信頼できない、特定の条件でコマンドの出力結果がずれ込んだり変な文字が入ったりとか経験ある...

          • 別に高級なスクリプト言語でも標準ライブラリやインタプリタのバグは踏むときは踏むし マイクロタスクな標準コマンドは高級言語のインタプリタほど頻繁なセキュリティアップデート...

            • 高級なスクリプト言語でも標準ライブラリやインタプリタのバグは踏むときは踏むし バグとかじゃなくて、開発者が把握してない動作の話なんだが、 シェルスクリプトに使用したコ...

              • シェルスクリプトに使用したコマンドのすべての挙動を把握している? 使用予定のオプションだけでも出力結果のすべてのパターンを把握している? 標準ライブラリのすべての関数...

                • 標準コマンドは標準入出力を通してプログラム同士で連携することを想定して作成されており、 入出力の破壊的変更を気軽にコミットしようとしたら秒でハネられます Linuxのシステ...

                  • 標準コマンドは標準入出力を通してプログラム同士で連携することを想定して作成されており、 入出力の破壊的変更を気軽にコミットしようとしたら秒でハネられます Linuxのシス...

                    • 頻繁にアップデートは正しくて最新版を使うのが正義だと思ってそう 何がどうなっているか最近見えるようになったよその業界と違ってそのコードはクソだからやめたまえってずっとや...

                    • 多分、ソフトウェア工学でいう検証とかソフトウェアテストの話と、ライブラリやコマンドにバグがあるかどうかという話を取り違えている所が話が擦り合わないポイントな気がするね...

                      • 話を取り違えている所が 見たこと無いにもかかわらず 論点先取の詭弁というやつですね   あなたこそ使っているコマンドのコミット履歴を見たことありますか? UNIXのコマンドな...

              • 横からだがシェルスクリプトで使用してるコマンドの仕様を把握するのなんて高級言語で使用するAPIの仕様を把握するのと同じぐらい基本的で当たり前のことだよ。manっていうコマンド...

            • 横からだがシェルスクリプトやばい増田へ。これほど丁寧に解説して貰えるのはありがたいことなのでよく読んで理解しておきなよ 君の好きそうなところだとDockerのコンテナイメージ...

              • ほかの回答でも書いてるがシェルプロセス経由するとかは別に気にしてないんだよね。 正直技術のツギハギでもソフトウェア工学のテストの要件満たせてれば問題ないんだけど、 曖昧さ...

                • 曖昧さっていうのが何かわからん。マイナーなコマンドを後から入れたとかじゃなくて標準的なコマンドを使うとして、manで出てくる情報で何が不足しているかピンとこないんだが

                  • あんさん、Dockerとか言ってるしあんまりシェルの凄まじい現場とか見たこと無いのでは。 シェルってのは人間の向けのコマンドの出力結果をawkとかsedで分解して後続につなげるもんなん...

                    • そのような「シェルスクリプトの凄まじい現場」があることは、 シェルスクリプトをプロダクションで動かしてる会社はやばい という主張を正当化しません 膨大な数のプロジェクト...

                    • 別の人が規模や複雑さが高くなるなら別の言語に切り替える的なこと書いてたでしょ。保守のコストが深刻になってきたら別の実装に切り替えるのは普通のことだと思うが。そういう用...

                      • 例えば実行速度までマネージメントしていたり、応答性能からハードウェアの性能要件割ったら予防交換の為にシステムから切り離すようなレベルならそういう意識でも結構だけど、現...

                    • sedとawkなんてバチバチにPOSIXで仕様定義されてる代表格じゃないの?

                  • きみは一回既存企業のフルマネージド化みたいな現実のサービス構造に触れた方がいいと思うよ。 世の中きみが思ってる程小規模でもなければ単純でもないし、たかだか200ノード程度の"...

                    • 現実のプロダクションに触れてればシェルスクリプトをプロダクションで使ってるだけでヤバいなんて発言自体が出てこないと思うが……

                      • 逆に聞くけどシェルスクリプトをほとんど使ってない現場とかは経験したことある? cronとかじゃなくてワークフロー管理ツールを使ってたりとか

                    • それは君が言ってる現実の範囲が狭すぎるわ。。。単にシェルスクリプトの運用ノウハウがない人たちの集まりだがフルマネージド化というプロジェクトの特質によりシェルスクリプト...

          • 分かったから、分かった分かった。じゃあ君はrustで書いてなさい

      • デバッグとかで不安とか? シェルスクリプトのデバッガーとかあるのかな 知らんけど

        • vscodeで使えるやつがあったはず。ちょっと複雑なやつ書く時には便利だよ

      • 分かる Macユーザーは無能だからごみみたいなシェルスクリプトしか書けないよね

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん