Я попробовал это
./ home / user / scripts / someScript
blockquote>, но это не работает
Нет такой файл или каталог
blockquote>есть идеи?
Начальная точка в вашей команде означает «относительно текущего каталога». Удалите его, и он будет ссылаться на «файл someScript
в каталоге /home/user/scripts
:
/home/user/scripts/someScript
Если вы получите« Отказано в доступе », это либо потому, что у вас недостаточно прав для доступа файл в каталоге других пользователей или потому что файл не является исполняемым. Чтобы сделать его исполняемым, выполните:
chmod +x /home/user/scripts/someScript
Если Ваш сценарий должен получить доступ к ресурсам в той же папке, что это выполняется от, и у Вас есть указанный как относительные пути, то Ваш сценарий повредится.
Я всегда добавляю a cd $(dirname $0)
к заголовку моего сценария, таким образом, папка, содержащая сценарий, будет корневой папкой.
Удалите .
Если вы запускаете скрипт с помощью chmod 755 <nameofscript>
, вам нужно только ввести путь к скрипту.
Когда вы видите, что ./script
используется, это говорит оболочке, что скрипт находится в том же каталоге, где вы его выполняете. Чтобы использовать полный путь, вы набираете sh /home/user/scripts/someScript
.
Я пробовал много способов, и это хорошо работает со мной:
(cd ~/user/scripts/; ./someScript)
Я получаю некоторая помощь от этого ответа .