web-dev-qa-db-ja.com

Linuxの最も普遍的なスクリプト言語は?

私たちはLinuxシステム用のスクリプトを作成していますが、Linuxで現在最も一般的に使用されているスクリプト言語を何にするかについては、いくつかの議論があります。 Bash、SH、Posix?何?

24
Ron Whites

在庫状況順:

  1. sh、ただしPOSIX指定の機能に固執する。
  2. bashですが、シバンで明示的に指定することを忘れないでください。そうしないと、代わりにダッシュが表示される可能性があります。
  3. Python。ほとんど誰もがそれを使用しています。
  4. Perl。しかし、あなたはそれを書き始めます。

その後は、それらだけではできないことはほとんどないので、誰も本当に気にしません。

可用性は次の順序でランク付けされると思います。

  1. sh
  2. awk
  3. Perl(BSDを含む、* nixをまだ見ていません)

Pythonは良い言語のように聞こえますが、ベースインストールに付属しているOSを使用していませんが、Ubuntuはおそらくそうですか?

1
Earlz

私はここの専門家があなたが決定するのを助けるべきであるすばらしい提案をすでに提供したと信じています。さまざまなシェルの使いやすさと可用性については、他の投稿でうまく説明されています。

別の言い方をすれば、私があなただったら、スクリプトで達成したい目標についても検討します。すべてのツールには、独自の長所と短所があります。そのため、私は主にPythonを使用していますが、すべての場合にそれを使用するわけではありません。

いくつかのシナリオを考えて、それらに役立ついくつかのツールに言及することができます。

FTPファイルの往復;それらを処理します。電子メール通知を送信します。等々

この場合、シェル(Bashなど)を使用して、さまざまなユーティリティ(ftpcronmailなど)を使用する方がよいでしょう。これは、多くの大企業における典型的な使用例です。

迅速なテキスト処理

もう一度、シェル。この場合、grepawksedpasteなどのユーティリティが非常に便利です。

ビルド

C/C++ドメインでは、このための汎用ツールはmakeです。 Java世界はApache ANTを好みます。

展開とリモート制御

シェルまたはPython。たとえば、それぞれscprsyncは、ファイルのコピーやファイルの同期に非常に役立ちます。

一方、Pythonにはfabricという非常に便利なモジュールがあります。これは、ファイルのコピー、プロセスの停止、サーバーの起動など、より複雑な操作に役立ちます。さらに、Pythonは、関連するパッケージをダウンロードしてインストールすることにより、指定された依存関係を解決できるモジュールpipも提供します。

(上記の提案はシェル機能に焦点を当てているのではなく、利用可能なさまざまなユーティリティに焦点を合わせていることに注意してください。)

0
Barun