У меня очень странная ошибка при попытке сделать скрипт вызываемым. У меня есть каталог скриптов в / srv / projectname / scripts, где я храню вам известные скрипты, которые вызывается как задания cron для разных проектов. Я пытаюсь добавить новый и увидеть очень странное поведение. В отладке я воспроизвожу его с помощью этого набора команд
из / srv / projectname / scripts. Создайте файл. Создайте файл
vi helloworld.sh
. Вставьте текст точно:
Сделайте исполняемый файл сценария и попробуйте называть его:
chmod +x helloworld.sh
./helloworld.sh
Что дает:
-bash: ./helloworld.sh: Permission denied
Убедитесь, что нет ошибки кода: [!d5 ]
bash helloworld.sh
Что дает:
Hello World!
Скопируйте сценарий на дом и назовите его:
cp helloworld.sh ~/helloword.sh
~/helloword.sh
Что дает:
Hello World!
Я понятия не имею, что происходит. Я пробовал много вариантов, где я даю полный путь, ту же ошибку, или если я sudo, который не дает никаких ошибок, но также не печатает «Hello World!».
Другие сведения: Выполнение : Ubuntu 12.04.4 LTS Я также заметил, что я не могу заполнить полное имя сценария, который дает мне эту ошибку, но я могу как-то переместить его. Каталог / srv / projectname является git repo, но этот скрипт еще не добавлен к нему, потому что я обычно делаю это только после его работы.
ls -l строк для скрипта и скриптов каталог
-rwxrwxr-x 1 ubuntu ubuntu 41 Apr 21 20:25 helloworld.sh
drwxrwxr-x 3 ubuntu ubuntu 4096 Apr 21 20:25 scripts
соответственно
Любая помощь была бы потрясающей.
EDIT: У Гилла был ответ. Чтобы сохранить всех, у кого есть эта проблема, поиск в google.
sudo mount /srv/projectname/ -o remount
перезагружает отредактированный fstab, и все работает снова.