Linux が run.sh コマンドを認識できないのはなぜですか?

Linux が run.sh コマンドを認識できないのはなぜですか?

Ubuntu Linux 12.04 LTS のディレクトリに run.sh があります。ディレクトリ構造内の他の場所にあるバイナリを「表示」できるように Path 変数を変更しています。しかし、フルパスを指定してもコマンドが見つからないというエラーが引き続き発生します。Linux に関する基本的な知識しかありません。何が起こっているのでしょうか。なぜ run.sh が表示されないのでしょうか。

memsql@memsql-virtual-machine:~/voltdb/doc/tutorials/helloworld$ sudo /home/memsql/voltdb/doc/tutorials/helloworld/run.sh
sudo: /home/memsql/voltdb/doc/tutorials/helloworld/run.sh: command not found
memsql@memsql-virtual-machine:~/voltdb/doc/tutorials/helloworld$ ls
Client.class  deployment.xml  Insert.class  log     run.sh        Select.java
Client.java   helloworld.sql  Insert.java   README  Select.class  statement-plans
memsql@memsql-virtual-machine:~/voltdb/doc/tutorials/helloworld$ pwd
/home/memsql/voltdb/doc/tutorials/helloworld

答え1

実行可能にしてからchmod a+x run.shもう一度試してください。

これにより、ファイルが実行可能になります。

答え2

おそらく、ファイルが実行可能ではないという他の誰かが言及した内容です。場合によっては、他の理由もあります。

もしシェバン(#!/bin/shまたは同等のもの)が間違っている場合は、シェルレポートを見たことがあるfile not foundcommand not found実行ファイルがあります。私が見たときは、/usr/bin にあった#!/usr/local/bin/perlperlスクリプトのケースでした。perl

もう一つの潜在的な原因を挙げてみました。

関連情報