新規記事投稿 フォロー記事投稿 記事のキャンセル
From: いしどう <ishidou@po.iijnet.or.jp>
Subject: Re: whichの使い方?
Date: 1999/03/27 02:09:30
Reference: mesh.forum.3/00914

いしどう です。

which コマンドは、環境変数PATHに含まれているディレクトリに、指定した
ファイルがあるかどうかを探すためのコマンドです。
つまり、ls や tar のように、コマンド名だけ入力すればそのコマンドを
実行できるかどうかを調べるコマンドです。

3月26日に、蓮さんは書きました。

> | /usr/local/httpd/htdocs/has/〜/forumset.cgi[28]: uudecode:  not found

>と叱られてしまいました。 自己展開CGIの先頭に #!/bin/sh と
>あるので、サーバにtelnet接続して、shをwhichしてみると
>
> | /usr/bin/sh
>
>と出ました。 上のメッセージは、#!/usr/bin/sh に変えてみて
>ください という意味でしょうか...

えと、違います。
uudecode コマンドが見つかりません、というエラーです。

>ついでに、
>
> | $ which uudecode
> | which: 0652-141 /usr/bin /etc /usr/sbin /usr/ucb /usr/bi
> | n/X11 /sbin /usr/local/bin に uudecode はありません。
>
>これって、所詮自己解凍CGIはダメよ ってことでしょうか?

そういうことです。

> | $ which timelocal.pl
> | which: 0652-141 /usr/bin /etc /usr/sbin /usr/ucb /usr/bi
> | n/X11 /sbin /usr/local/bin に timelocal.pl はありません。
>
>これって、tar+gzipの方をやっても、timelocal.plが無いのでダ
>メよ ってことでしょうか? 

これは違います。
timelocal.pl は、うぇぶ会議室の中で読み込まれるスクリプトファイル
で、直接実行されるファイルではないんで、which コマンドで探す事は
意味がありません。

> | $ which perl
> | /usr/local/bin/perl
>
>とりあえず、*.cgiの最初の行は変えなくて良い ということでし
>ょうか?

これは、正しいです。

--------------------------------------------------

とりあえず、スクリプトの展開は、tar.gz ファイルをバイナリモードでサーバへ
転送後、telnet でサーバに接続してシェルから

gzip -dc 転送したtar.gzファイル | tar xvf -

とすればいいのではないかと思います。
あ、その前に、which gzip を実行して、gzip コマンドが使えるか
どうかを確認してからですね (^^)