Ответ 1
Это может произойти, если вы установили файловую систему с опцией "noexec". Вы должны удалить его.
У меня есть странная проблема, я не могу выполнить bash script даже в качестве основного, например:
#!/bin/bash
echo "me"
Я сохраняю его как test.sh, а затем делаю chmod 755 test.sh и запускаю. /test.sh:
bash: ./test.sh: Permission denied
любые идеи?
веселит
Это может произойти, если вы установили файловую систему с опцией "noexec". Вы должны удалить его.
Script должен быть выполнен. Используйте это:
chmod +x <script-name>
Хотя это прямо не относится к данной теме; если файл появился из системы Windows, в конце строки может быть CR/LF. Это повлияет на все строки в файле, включая начальную строку выполнения, и не будет видно, если вы просматриваете файл.
$ ./test.sh
-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory
Чтобы увидеть это, вы можете cat -A файл: $ cat -A./test.sh #!/Bin/ bash ^ M $ echo "me" ^ M $
Чтобы удалить, используйте dos2unix.
Попробуйте
ls -la
чтобы увидеть фактические права и права собственности на файл. Чтобы проверить, действительно ли работает команда chmod. Возможно, вы захотите изменить владельца вместе с модом проверки файла: http://www.tuxfiles.org/linuxhelp/fileowner.html
Используйте chmod +x ./test.sh
это должно позволить вам запустить его.
Кроме того, проверьте, установлен ли каталог/файловая система, содержащая script, nfs. root не будет запускать скрипты из локализованных в nfs местоположений.
вам нужно использовать ./test.sh
, когда вы в каталоге этого файла, если вы этого не сделаете, попробуйте PATH TO THE SCRIPT
.или вы можете скопировать его в какой-либо каталог /data
и chmod для оболочки, затем выполните выше steeps.if, вы все еще терпите неудачу, это нормально, потому что у меня такая же проблема, я просто сделал это успешно за один раз.