Имея небольшую проблему, кто-то может помочь мне с этим. Я создал несколько скриптов Bash для автоматизации некоторых из моих повседневных задач на машинах Snow Lepoard. Все эти сценарии находятся в папке DropBox, которая используется всеми моими компьютерами.

Путь один и тот же на всех машинах: например, /User/myuser/Drobox/Bash\ and\ Batch/ я добавил папку в мои /etc /paths

Переменная пути:

/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/myuser/Dropbox/Bash\ and\ Batch:/usr/local/git/bin:/usr/X11/bin

Моя проблема не в том, что я не могу запускать скрипты из-за пределов своего каталога. Все сценарии имеют необходимые разрешения, например: 755

Скрипты могут быть запущены, когда в каталоге:

mymachine:~ myuser$ cd Dropbox/Bash\ and\ Batch
mymachine:Bash and Batch myuser$ ./uni-update.sh
Update University Repository
At revision 246.

Но не снаружи каталога:

mymachine:~ myuser$ ./uni-update.sh
-bash: uni-update.sh: command not found

Что мне здесь не хватает?

Заранее спасибо.

1 ответ1

4

Вы не должны ставить перед командой префикс ./ .

Это означает «Использовать uni-update.sh в текущем каталоге». Это делается для команд, которые не найдены в пути, или для указания другой версии или совершенно другой программы с тем же именем.

Запустите его просто как uni-update.sh и все хорошо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .