繰り返し実行する必要があり、ファイルを移動したりテキストを追加したりするジョブには、まだbashスクリプトを実行する方法がありますか?私は現在、bashスキルが少ししかないのであれば、それをうまくやることを学ぶのに時間を費やすべきですか、あるいはPerlやPythonのようなものを使うべきですか?まだbashスクリプトは行っていますか?
答えて
:-)物事が非常に簡単に作る:)
私はPythonが提供する可能性があると言うだろうそれはかなり大きな仕事になる場合は、より保守的な解決策ですが、bashは小さなスクリプトでは問題ありません。私は100行に神経質になったり、たくさんの機能を必要とするようになったりします。 (もちろん、bashのエキスパートははるかに複雑なスクリプトを扱うことができますが、Javaは「カジュアル」なJavaコーダーによって読み込まれる可能性があるよりも、「カジュアル」なbashユーザーによって読み込まれる可能性が高くなります。 )
Qt/C++を使用することもできます。 QRegExpとqfileによりそれがいつものコースのさまざまなスキルを持つ価値があるが、私はその時がしばしばきついです感謝
私はJon Skeetに同意します。私のリストの理解は常に欠けていますが、私のシェルにはネイティブではなく、10行以下のスクリプト(私のしきい値はSkeetsよりも低いですが、私の能力もそうです)、bashまたはネイティブシェル言語は、安全なルート。そして、私はipythonにネイティブシェルとして動くことを真剣に示唆する議論はしません;)
解決策がリスト、ハッシュ、またはその他の重要なデータ構造を含んでいれば、私はルビーのようなdl、 python、またはperlです。
一方、私が構築しているものが複数のプラットフォームで標準ツールセットを持たずに実行されるならば、私はbashやshでも同じことをするでしょう。それはすべて、ソリューションの複雑さと実行される場所に依存します。
私の経験上、知っているコマンドラインツールを使用してください。私はいくつかのPythonを知っていますが、私のスクリプトの約半分がPHPで書かれています。
私はbashがすべてのLinuxディストリビューションではないにしても、ほとんどの場合、デフォルトの/ bin/shであることを知っています。しかし、私はそれを一歩踏み出し、厳密なBourneシェルの構文に固執しようとします。そうすれば、あなたのスクリプトライブラリはUNIXの他の味方に容易に移植できます。これは、他の人が指摘しているように、配列やもののようなより高度な機能を必要としないことを前提としています。
いずれにしても、bashを学ぶためには、Advanced Bash-Scripting Guideを参考にすることをおすすめします。
私はbashとpythonの両方を使用します。同時に。 bashは短いスクリプト(特にzsh、私が移植性を気にしないときは私のお気に入り)に適していますが、Pythonはもっと長く複雑なスクリプトには適しています...しかし、埋め込み»bashスクリプトを使ったPythonはさらに優れています。 popenはあなたの友人です。例えば
、私は頻繁に書く:
for file in os.popen('find ...'):
...
の代わりに、手動でos.walkをやって、これは考えると、多くの場合、はるかに短いする方法高速であるため。パイプを使用すると、このテクニックはさらに優れています。
もちろん、移植性が問題になる可能性があるので注意してください。また、どの部分がどの言語で書かれているかを知るには、両方のツールをかなりよく知っておく必要があります。
- 1. BashまたはPerlスクリプトからSQL文を実行していますか?
- 2. bashスクリプトからノードを実行しています
- 3. bashスクリプトからファイルpather argsを使ってrubyスクリプトを実行しています
- 4. Linuxのbashスクリプト私は2つのPythonスクリプトはa.pyと をb.py持っていると私はa.pyロードしa.pyが、それはだやって完了するまでb.py実行されませんbashスクリプトを書きたい複数のpython
- 5. 私はbashで学校の割り当てを行っていますBASH
- 6. bashスクリプトで2つの実行中のコマンドを実行してください
- 7. $ *と*は、正確にbashスクリプトに対応していますか?
- 8. bashスクリプトのベースネームにスペースが含まれていますか?
- 9. は、私はbashスクリプトから次のコマンドを実行するbashスクリプト
- 10. このシンプルなMYSQL bashスクリプトで何が問題になっていますか?
- 11. npmを使ってbashスクリプトを実行する
- 12. shを使ってbashスクリプトを実行する
- 13. bashのループ私は次のようなbashスクリプトを持って
- 14. bashへのリダイレクトによって実行されるbashスクリプトに引数を渡します。
- 15. bashスクリプトの行番号から始まる行を読む
- 16. ジェンキンス - 私はこのようになりますbashスクリプト持っ
- 17. は、私は私のパッケージのテストスイートを実行するbashスクリプトを持って
- 18. bash:スクリプトがルートで実行されていないと失敗します。
- 19. bashスクリプトは文字列をコマンドとして扱います
- 20. Windows PowerShellからbashスクリプトを実行します。
- 21. bashスクリプトを使ったチェックボックス
- 22. 長時間実行されるプロセスのpidは、私は、スクリプトを持っているbashスクリプト
- 23. Bashスクリプト - nohupですが、プロセスを実行したままにしますか?
- 24. まだ実行されている場合は角張っています。
- 25. スクリプトがアプリケーションによって実行されたときにbashスクリプトのSSHコマンドが実行されない
- 26. bashスクリプトの実行順序
- 27. バックグラウンドでbashスクリプトを実行
- 28. 長いスクリプトがまだ実行されていますが、Drupalフォームエンジンが "Gives Up"
- 29. なぜ私のbashスクリプトはコードとしてコメントを実行しようとしていますか?
- 30. Luaはbashスクリプトを実行しません
+1、私は "カジュアル"ユーザーのポイントが好きです... – rmeador
共通のbashコードのPythonバージョンについては、http://stackoverflow.com/questions/209470/can-i-use-python-as-a-bash-replacementを参照してください。 – Nickolay