2015-05-27 6 views
1

Получение команды «не найден» при попытке запустить файл сценария оболочки. Сам файл хранится в каталоге, который добавляется в PATH, но, тем не менее, терминал не распознает его как сценарий оболочки.Терминал не может запускать файлы сценариев оболочки, хранящиеся в каталогах PATH

Вот последовательность Стараюсь:

tajimura/GAMIT% echo $PATH 
/usr/local/bin:/usr/bin:/bin:/user/games:/usr/X11R6/bin:/usr/bin/X11:/usr/lib64/jvm/jre/bin:/home/tajimura/GAMIT/gamit/bin:/home/jaimura/GAMIT/kv/bin:/home/tajimura/GAMIT/com 
tajirmura/GAMIT% ls /home/tajimura/GAMIT/com/sh_steup 
/home/tajimura/GAMIT/com/sh_setup 
tajimura/GAMIT% sh_setup 
sh_setup: Command not found. 
tajimura/GAMIT% sh sh_setup 
sh: sh_setup: No such file or directory 
tajimura/GAMIT% l /home/tajimura/GAMIT/com/sh_setup 
-rwxr-xr-x 1 tajimura users 11109 Aug 20 2013 /home/tajimura/GAMIT/com/sh_setup 

Вот скриншот:

PS: OpenSUSE 12.1 здесь.

ADDED: Я выполнял его очень хорошо в течение первых 4 дней, поэтому я думаю, что hashbang не проблема. Но я не могу гарантировать, что рабочая станция не перезагружалась между моими сеансами, поэтому, может быть, может быть (может быть)). Однако скрипт находится в моем домашнем каталоге на жестком диске, это не съемный диск.

ДОБАВЛЕНО: Первые пять строк sh_setup:

/home/tajimura% sed 5q /home/tajimura/GAMIT/com/sh_setup 
    #!/bin/csh -f 
    # 
    #doc Check and setup the GAMIT tables directory 
    #doc 
    # 
+0

Имеют ли папки 'GAMIT' и' com' необходимые разрешения для файловой системы? – arkascha

+1

1. покажите нам, что такое sh_setup – kaitian521

+0

Довольно уверен, что 'sh sh_setup' терпит неудачу, потому что вы не в' com'. Первый (просто 'sh_setup') может быть, если' sh_setup' является сломанной символической ссылкой. – kojiro

ответ

2

Ваш скрипт либо не выполнимым (сделать так, с chmod +x sh_setup) или указывает сломанный (несуществующее) переводчика на его хэш-строка (первая строка файла sh_setup, начиная с #!).

Ваш вызов sh sh_setup завершается сбоем, поскольку он не использует $PATH, и вы находитесь в неправильном каталоге.

РЕДАКТИРОВАТЬ: Ваш скрипт явно исполняемый (я не заметил этого на скриншоте), что оставляет нам возможно неправильный переводчик.

0

Я нашел неожиданное решение проблемы. Если я вызову скрипт под bash вместо csh, все будет хорошо.

 Смежные вопросы

  • Нет связанных вопросов^_^