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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Linuxについて質問です。 引数に指定されたアクセスログのファイルからアクセス数が多い順に上位3つ 1 2023/02/03 03:46
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をdiff.shとして、以下のように2つのテキストフ 1 2023/02/03 20:06
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をfind.shとして、以下の条件をすべて満たすファ 1 2023/02/03 03:50
- その他(プログラミング・Web制作) linuxについて質問です 1 2023/02/06 19:55
- UNIX・Linux Linuxについて2つ質問したいです。 ① シェルスクリプト名をawk1.shとして、指定されたデー 1 2023/02/03 03:49
- PostgreSQL postgreSQLをbashで実行する際に「MORE」表示をなくす方法 1 2023/05/08 21:42
- UNIX・Linux Linuxのbash環境下です。 1 2022/11/27 12:31
- Perl bashスクリプト 2 2023/02/10 21:01
- その他(プログラミング・Web制作) awkのtoupper() 1 2022/10/21 20:39
- UNIX・Linux デフォルト値のパラメータ展開 1 2022/08/12 17:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ubuntuの端末の左にカレントデ...
-
FreeBSDのログインシェルshの$H...
-
Solaris10
-
ターミナルが全く入力できない
-
バッチ・ログファイルへの出力
-
posixでshellを起動したとき`da...
-
Solarisでデフォルト環境変数の...
-
Cシェル内で自動ログアウトさせ...
-
コマンドフック
-
違いについて
-
mac os x10.6.4のターミナルでp...
-
初代ibook(シェル型)の無線LA...
-
[UNIXコマンド] eval教えて下...
-
ログインシェルと対話型シェル...
-
シェルスクリプトで #!/bin/sh ...
-
シェル(ksh)で変数にある文字列...
-
csh (tcsh)での環境変数の長さ...
-
solarisのsetenvが無効
-
シェル??? スクリプト???
-
SONYの音楽ソフト「x-アプリ」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
export と set は違うの?
-
Cシェル内でBシェルの様な関数...
-
シェル 会話形式でエンターキ...
-
シェルスクリプトで #!/bin/sh ...
-
.cshrc ファイルについて
-
『存在するかどうか分からない...
-
ubuntuの端末の左にカレントデ...
-
ターミナルが全く入力できない
-
バックスラッシュの意味がわか...
-
Linuxのファイル禁止文字
-
シェルスクリプトに関する問題...
-
mac os x10.6.4のターミナルでp...
-
シェルスクリプトのbashとperl...
-
違いについて
-
tcshなのにスクリプト構文中のs...
-
シェル(ksh)で変数にある文字列...
-
posixでshellを起動したとき`da...
-
シェルの変数をMySQLに送る方法...
-
Solaris9でdateコマンドの結果...
-
Cシェルでのファイルからの入...
おすすめ情報