почему Linux не видит мою команду run.sh?

почему Linux не видит мою команду run.sh?

У меня есть run.sh в каталоге в ubuntu linux 12.04 LTS. Я изменил переменную Path, чтобы она могла «видеть» двоичные файлы в других местах структуры каталогов. Но я все еще получаю command not found, даже если указываю полный путь. У меня только базовые рабочие знания 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 foundили command not foundдаже если онявляетсятам исполняемый файл. Когда я его увидел, это был случай скрипта perl, который имел #!/usr/local/bin/perlwhen perlв /usr/bin.

Просто решил добавить еще одну потенциальную причину.

Связанный контент