「シェルスクリプト」を含む日記 RSS

はてなキーワード: シェルスクリプトとは

2024-01-07

anond:20240107192256

あんさんDockerとか言ってるしあんまりシェルスクリプトの凄まじい現場とか見たこと無いのでは。

シェルってのは人間の向けのコマンドの出力結果をawkとかsedで分解して後続につなげるもんなんで出力結果が変わると困る。ただ、manにはこういう処理で使えるほどの詳細な挙動は書いてないことが多い。

そして、シェルは出力結果おかしくても型とかじゃなくて文字列処理だから割りと後続処理が実行できちゃうおかしい箇所を発見するのも時間がかかる。

そういうことが無いようにバリデーションのコードとか書き始めると複雑で何百行にもなるシェルスクリプトができて、これが一層壊れやすいし保守開発がめんどいことになる。

anond:20240107191403

からだがシェルスクリプト使用してるコマンドオプション仕様を把握するのなんて高級言語使用するAPI仕様を把握するのと同じぐらい基本的で当たり前のことだよ。manっていうコマンドを使ったり、より簡易的には--helpのようなオプション確認できるよ。

君が論理的じゃないとしているところは筋が通っていると思うよ。

検証というのはプログラム開発におけるテスト工程だけでなく無数の利用者継続的に使い続けていることを指しているよ。それを含めるならPOSIX準拠シェルコマンドよりもよく検証されているプログラムなんて世の中に存在しないんじゃないかと思うよ

anond:20240107191403

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

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

標準ライブラリのすべての関数のありとあらゆる引数に対する挙動を把握している?

 

人が手て使うことを想定された曖昧さの残るコマンドと、

標準コマンドは標準入出力を通してプログラム同士で連携することを想定して作成されており、

入出力の破壊的変更を気軽にコミットしようとしたら秒でハネられます

 

高級言語インタプリタほど頻繁なセキュリティアップデート必要ない

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

「ゾウリムシよりも蟻は大きい」を「蟻は大きい」で切って引用するのはやめましょう

 

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

規模が大きくなると信頼できない、その場しのぎ的な技術であるのはpythonなどのスクリプトの実行環境も同様です

すべての処理、すべてのプログラムをRustで書くような行為はきわめて非生産的ですし、シェルスクリプト以上に危険です

 

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

論理的じゃないよね

メンテナの数、レビューする人数、実際に動作している環境etc

 

anond:20240107190605

からだがシェルスクリプト使用してるコマンド仕様を把握するのなんて高級言語使用するAPI仕様を把握するのと同じぐらい基本的で当たり前のことだよ。manっていうコマンドを使ったり、より簡易的には--helpのようなオプション確認できるよ。

例えば、ファイルをあっちからこっちにコピーして一時的待避するだけならシェルスクリプトcpコマンド書くのがコスト最小でしょ。現実システム運用では費用対効果を考えていろんな仕組みを使い分けてるんだよ

anond:20240107184931

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

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

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

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

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

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

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

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

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

論理的じゃないよね

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

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

anond:20240107184931

からだがシェルスクリプトやばい増田へ。これほど丁寧に解説して貰えるのはありがたいことなのでよく読んで理解しておきなよ

君の好きそうなところだとDockerコンテナイメージのentrypointは基本的シェルスクリプト指定されてて、もちろんいろんな会社プロダクション環境で動かしてるよ

anond:20240107180624

世界中ITシステムを稼働させている企業は99.9%以上やばいということだな。そうすると公務員が次の選択肢になりそうだが役場から省庁から何とか法人まで探してもシェルスクリプトプロダクションで使ってないところなんてないよな。小さな村の役場とかならワンチャンあるか。その素晴らしいITスキルを生かして紙とペン革命を起こすんだ

Docker使うときだってDockerfileの環境構築処理の中にシェルスクリプトの実行コマンドが入ってること普通にあるよね

標準的な導入方法シェルスクリプトになってるツールとかたくさんあるし

anond:20240107181631

別にcronからキックできるのはシェルスクリプトだけじゃないよね。

はあ、それがなにか

できるのはシェルスクリプトだけじゃないけど、シェルスクリプトキックしているプロダクションはたくさんありますけど

2023-11-24

anond:20231124192825

それはなくない?

昔色々比べてみたけど、コマンド一発で済むような場合を除けば、シェルスクリプトループとか激遅だったと思う

2023-08-06

そもそもコマンドライン操作ってプログラミングに比べて大した難易度ではないだろう

文字コンピュータコミュニケーションするって意味ではプログラムと同じだし、結果がすぐに返ってきてわかりやすいし、CLI操作からシェルスクリプトに発展させることもできるし

それをいちいちハードル上げてるとか敵視する意味わからん

2023-02-28

anond:20230228214859

日進月歩というほど進んでいないような気がする。

30年前もマックIIciでワードエクセル使ってたし、フォトショップイラレ使ってた。

ネットスケープ使ってたし、SunUnix使ってた。

暗号化周りとか動画周りとか分散キャッシュとかくらいしか変わらないような気がする。

当時PerlとかシェルスクリプトメインだったけどPythonとかもうあったような気がする。

いうほど変わってないのでは。

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