У меня есть 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/perl
when perl
в /usr/bin.
Просто решил добавить еще одну потенциальную причину.