
No.1ベストアンサー
- 回答日時:
perlやphpをシェルとしては使い物にはなりません。
コマンドシェルとして使用するには最低限一行ずつ命令を読み取り、その都度実行する仕組みが必要です。
perl等は1行ずつではなくファイルすべてを読み終わってから実行するため、シェルとしては役に立ちません。
イメージでいうと、ログインしてからひたすら文字を入力して、実際に実行されるのは、ログアウトしてからということになります。
シェルスクリプトの利点としては、普段使用しているコマンドをそのままの書式で作成できるというところです。
また、UNIX系のOSであれば何らかのシェルは必ず入っています。Perl等は別途インストールする必要があります。とくに、サーバーを構築する場合はサービスに不要なツールはインストールしたくないので、perl等の言語は入れていない場合も多いです。
ご回答ありがとうございます。
参考になりました。
>perl等は1行ずつではなくファイルすべてを読み終わってから実行するため、シェルとしては役に立ちません。
>シェルスクリプトの利点としては、普段使用しているコマンドをそのままの書式で作成できるというところです。
なるほどです。
この文章がシェルスクリプトとPerlの違いが大変よく分かりました。
No.2
- 回答日時:
まずは用語の確認
bashはシェルなので、そのプログラムは「シェルスクリプト」になります。
PerlはPerlなので、perlのプログラムは「シェルスクリプト」ではありません。「Perlスクリプト」とか、単に「スクリプト」と呼びます。
>PerlもUNIXのコマンドやシェルスクリプトとして使用できるということでしょうか。
発想が逆です。
もともと、UNIX等で使われていたPerlが、その特徴(文字列を扱いやすいとか)からWebでも使うようになったのです。
Rubyもそうです。
それぞれ、入門書やサイトを見てください。最初はコマンドラインからの使い方で始まってると思います。
PHPはWebでの動作を目的にしたものなので、ちょっと毛色が異なります。
>学ぶとしたら、bashとPerlのどちらが良いでしょうか
どちらにもそれぞれの得意分野があるので、一概には言えませんが....
bashは普段のコマンドライン入力でも使われています。
つまり、bashのスクリプトでできることは、コマンドラインからでもできる、ということなので、これを覚えれば、コマンドラインの入力だけでかなりのことができるようになります。
>どんな用途や利点
シェルスクリプトもPerl等のスクリプトも、基本、プログラムなので大抵のことはできます。
多い使い方は、何度か繰り返すような作業をスクリプトにしておき、実行時に楽をする、というものでしょうか。
あとは、C等で書こうとすると、どうしても複雑になるもの、あるいは逆に、簡単な処理なので、いちいちコンパイルして動作確認してといった手順を踏む程のものではない場合などに使います。
>Webアプリケーションによるバックアップやログをタイマーでセットして自動的に取得したりすることは可能でしょうか。
これなどは、まさにスクリプトの出番です。
いちいちログのファイル名とバックアップ先を指定してコピー、といった作業も、スクリプトにまとめておけば自動化できます。
ご回答ありがとうございます。
参考になりました。
>もともと、UNIX等で使われていたPerlが、その特徴(文字列を扱いやすいとか)からWebでも使うようになったのです。
>Rubyもそうです。
>それぞれ、入門書やサイトを見てください。最初はコマンドラインからの使い方で始まってると思います。
>PHPはWebでの動作を目的にしたものなので、ちょっと毛色が異なります。
知らなかったです。私はPHPのみだけやって、PerlやRubyは触れていませんでした。確かにPHPはWebを目的にした特殊的な言語と言えますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
csh (tcsh)での環境変数の長さ...
-
Cシェル内でBシェルの様な関数...
-
コンソールでの上下左右矢印ボ...
-
シンボリックリンクでリンク先...
-
.bash_profile .profile ログイ...
-
export と set は違うの?
-
BシェルとBashの違い
-
posixでshellを起動したとき`da...
-
シェル(ksh)で変数にある文字列...
-
Dirコマンドでフォルダ内ファイ...
-
スクリプトのエラー「unexpecte...
-
ファイル名についている「-」と...
-
net use /d の強制実行
-
ラズパイで『’test.service’をs...
-
batである文字列内に特定の文字...
-
UNIX コマンドにおける # や円...
-
エクセルの表にヘンな枠が・・・
-
SONYの音楽ソフト「x-アプリ」...
-
TOPコマンドで表示するCPU使用...
-
コマンドプロンプトから別マシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
シェル 会話形式でエンターキ...
-
ubuntuの端末の左にカレントデ...
-
export と set は違うの?
-
Cシェル内でBシェルの様な関数...
-
.cshrc ファイルについて
-
シェル(ksh)で変数にある文字列...
-
コマンドプロンプトとかで、net...
-
シェルを元に戻したい
-
solarisのsetenvが無効
-
lsコマンド部分一致方法
-
バックスラッシュの意味がわか...
-
WindowsXPについて
-
kshについて
-
シェルスクリプトの切り替え?
-
unix初心者です
-
apache停止してたら再起動させ...
-
UNIX(hp-ux)のコマンド履歴↑↓
-
シェルの編集の仕方について
-
telnetの制限
-
コンソールでの上下左右矢印ボ...
おすすめ情報