UNIX 関連タスクを実行する Bash と Python

UNIX 関連タスクを実行する Bash と Python

高度なプログラミング言語の経験があるにもかかわらず、Bashを使用して作業を自動化することはまだ困難です(Unix - Linux Mintに初めて触れている場合)。言語は非常に強力ですが、学習曲線が急すぎます。だから私はスクリプトのために完全にPythonに切り替えることを検討しています(PythonはLinux Mintにプリインストールされています)。

私は単純さとエレガンス(Bash)ではなく、読みやすさとテスト可能性(Python)を好みます。

OS関連のタスクにスクリプトでPythonを使用することが合理的であるか、または不可能な最も重要な理由のいくつかをリストしてもらえますか?

ベストアンサー1

「自動化された仕事」は少し広いです。多くの一般的なシステム管理タスクは、非常に単純なシェルスクリプトまたは単一のコマンドに保存できます。ここで、「実際の」言語レベルは高すぎて実用的ではありません。ここでは「シェル」という名前が由来しています。その中に快適に座りながらも閉じ込められていることもあります。 PerlシェルやPythonシェルはありません。理由さえ分からない。

シェルを使用すると統合できます。他の通訳者とても簡単です。実行可能ファイルのshebangと文字列(「1行」)またはファイル(「名前付きスクリプト」)を使用する明示的な呼び出し。

読みやすさとテストの可能性とシンプルさとエレガンス

どの言語でもこれを行うことができます。特定の問題によって異なる。問題は、(python vs. perl) vs. bash「釘」を打つためにどの「ハンマー」を使用する必要があるのではありません。

コメントから:

速度は別の問題かもしれません。 Pythonの起動が遅くなる可能性があります...

繰り返しますが、すべては特定のタスク/アルゴリズムによって異なります。ただし、見かけ上「有害ではない」ループが特定の方法で実行されると、10倍または100倍長くかかる可能性があるため、速度は常に問題です。

私が言いたいのは、あなたが快適なものを使用すると作業が完了することです。

これが意味することに同意します。スクリプトを作成する前に、次のことを決定する必要があります。

  1. これを効率的に行う方法は? (携帯用、メンテナンス可能、エレガンス、...)
  2. 私はどのツールを使用したいですか? (私はうまくいくのですか?)

一致する必要があります。

そうでなければハッキングすることです。あなたの言語や新しいトピックを学ぶ場所その他言語。

おすすめ記事