人気マンガがだれでも無料♪電子コミック読み放題!!

perlの1行目が#!/usr/bin/perlだと動かず#!/usr/bin/perl5.8.9だと動くのですが、
#!/usr/bin/perlで動くようにするにはどうしたらいいのでしょうか?

インストールされているperlは
This is perl, v5.8.9 built for darwin-2level
です。

どこかでパスの設定をしてやればいいと思うのですが、
どこに何を書けばいいのかよくわかりません。

環境はMacOsX v10.6 SnowLeopardです。
どなたかよろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

MacOSのことはよくわかりませんが、一般的なUNIX系OSで考えると、、



シンボリックリンク/usr/bin/perlを作り、/usr/bin/perl5.8.9にリンクすればいいでしょう。
ln -s /usr/bin/perl5.8.9 /usr/bin/perl

そうすればPerlスクリプトは「#!/usr/bin/perl」のままでOKです。
    • good
    • 0
この回答へのお礼

ありがとうございます。

上記のコマンドを実行して無事リンクの設定が出来ました。

お礼日時:2010/08/08 17:07

「動かない」の内容をもう少し詳しく書いてください。



1)ターミナルで
ls -l /usr/bin/perl
と入力したら、ちゃんとperlが表示されますか?それとも「No such file or directory」とエラーになりますか?
実行権はちゃんと付いてますか?


2)同じく
/usr/bin/perl --version
としたらどんな表示になりますか?

3)スクリプトを実行すると、どんなエラーメッセージがでるのですか?


#!を実行に使うコマンドを指定するものなので、 #!/usr/bin/perl で実行させたいなら、まずは、 /usr/bin/perl が正常に動作するかを確認しましょう。

1)で表示されないなら、なんかの操作ミス等でファイルを消してしまったのでしょう。
2)の表示は、私の10.6.4では
This is perl, v5.10.0 built for darwin-thread-multi-2level
となります。

1),2)が問題無しで、2でのversionが5.10.0だとすると、そのバージョンの違いによるものかもしれません。
・5.8.9で追加したモジュールを使用している
・5.8.9でしか使用できないスクリプトになっている
など が考えられます。(あんまり考えられないことだけど)
そのためには、3)のエラーメッセージが必要です、
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qシェルスクリプトのbashとperlについて

シェルスクリプトのbashとperlについて
今さら気づいたのですが、PerlもUNIXのコマンドやシェルスクリプトとして使用できるということでしょうか。
RubyやPHPをUNIXのコマンドやシェルスクリプトとして使用することはできますでしょうか。
学ぶとしたら、bashとPerlのどちらが良いでしょうか。

また、シェルスクリプトはどんな用途や利点がありますでしょうか。
Webアプリケーションによるバックアップやログをタイマーでセットして自動的に取得したりすることは可能でしょうか。

Aベストアンサー

perlやphpをシェルとしては使い物にはなりません。

コマンドシェルとして使用するには最低限一行ずつ命令を読み取り、その都度実行する仕組みが必要です。
perl等は1行ずつではなくファイルすべてを読み終わってから実行するため、シェルとしては役に立ちません。

イメージでいうと、ログインしてからひたすら文字を入力して、実際に実行されるのは、ログアウトしてからということになります。

シェルスクリプトの利点としては、普段使用しているコマンドをそのままの書式で作成できるというところです。

また、UNIX系のOSであれば何らかのシェルは必ず入っています。Perl等は別途インストールする必要があります。とくに、サーバーを構築する場合はサービスに不要なツールはインストールしたくないので、perl等の言語は入れていない場合も多いです。

Qシェルスクリプト実行で”そのようなファイルやディレクトリはありません”と出ます。

以下の単純なシェルスクリプトを実行しようとしています。
-------------------
#!/bin/sh
echo ok
-------------------
そのとき、
bad interpreter: そのようなファイルやディレクトリはありません
と出てしまいます。

・which sh で確認すると /bin/sh です。
・Windowsで作ったファイルをFTPのアスキーモードで転送しています。

(ものすごく単純なミスをしてるのかもしれませんが、)
よろしくお願いします。

Aベストアンサー

1行目の「/bin/sh」のうしろにCRが入っていると、このような現象が発生します。
FTPの転送モードが間違いなくアスキーモードになっているか、
転送後のファイルにCRがついていないかなど、再度確認してみてください。

CR以外のコントロールコードや全角スペースなどがついていても似た現象が起こります。
その場合はエラーメッセージが多少異なるはずですが、併せて確認しておくと良いかと思います。

QApache 文字化けしてWebに表示してしまう。

CentOS6のApacheにて、httpd.confを

DefaultLanguage ja
↑日本語に指定
#LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
↑コメントアウト
#ForceLanguagePriority Prefer Fallback
↑コメントアウト
AddDefaultCharset off
↑offにする。

# curl -I 192.168.x.x
HTTP/1.1 401 Authorization Required
Date: Sun, 05 Apr 2015 10:34:18 GMT
Server: Apache
WWW-Authenticate: Basic realm="Password for www.xxxx.xx.jp"
Connection: close
Content-Type: text/html; charset=iso-8859-1

上記のcharset=iso-8859-1が怪しいと思いますが、
webで表示すると文字化けしてしまいます。
何が原因でしょうか? どこの設定をいじれば解決できますでしょうか?

↓こんな文字化けWeb表示です。

蜷榊燕:
驛オ萓ソ逡ェ蜿キ:

CentOS6のApacheにて、httpd.confを

DefaultLanguage ja
↑日本語に指定
#LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
↑コメントアウト
#ForceLanguagePriority Prefer Fallback
↑コメントアウト
AddDefaultCharset off
↑offにする。

# curl -I 192.168.x.x
HTTP/1.1 401 Authorization Required
Date: Sun, 05 Apr 2015 10:34:18 GMT
Server: Apache
WWW-Authenticate: Basic realm="Password for www.xxxx.xx.jp"
Connection:...続きを読む

Aベストアンサー

> Content-Type: text/html; charset=iso-8859-1

それは、BASIC認証のためのヘッダです。

文字化けしているのはBASIC認証のポップアップですか?
そうでなく、設置したHTMLの表示が文字化けしているなら、原因はそれではありません。


> AddDefaultCharset off
> ↑offにする。

その設定は正しいです。
設定を有効にするには Apache の再起動が必要です。
再起動していなければ、再起動後にWebの表示を確認してください。

AddDefaultCharset のデフォルト値は「Off」です。

http://httpd.apache.org/docs/2.4/ja/mod/core.html#adddefaultcharset

下記のようにコメントアウトしても結果は同じ(Off)です。

#AddDefaultCharset UTF-8


文字化けしているページ(HTMLファイル)の文字コードと、METAタグで指定した文字コードは一致していますか?
METAタグで文字コードを指定する場合は、TITLEタグ等でその文字コードを使用するよりも先にMETAタグを記述する必要があります。

> Content-Type: text/html; charset=iso-8859-1

それは、BASIC認証のためのヘッダです。

文字化けしているのはBASIC認証のポップアップですか?
そうでなく、設置したHTMLの表示が文字化けしているなら、原因はそれではありません。


> AddDefaultCharset off
> ↑offにする。

その設定は正しいです。
設定を有効にするには Apache の再起動が必要です。
再起動していなければ、再起動後にWebの表示を確認してください。

AddDefaultCharset のデフォルト値は「Off」です。

http://http...続きを読む


人気Q&Aランキング