Подтвердить что ты не робот

Не могут выполнять скрипты bash даже как root?

У меня есть странная проблема, я не могу выполнить bash script даже в качестве основного, например:

#!/bin/bash
echo "me"

Я сохраняю его как test.sh, а затем делаю chmod 755 test.sh и запускаю. /test.sh:

bash: ./test.sh: Permission denied

любые идеи?

веселит

4b9b3361

Ответ 1

Это может произойти, если вы установили файловую систему с опцией "noexec". Вы должны удалить его.

Ответ 2

Script должен быть выполнен. Используйте это:

chmod +x <script-name>

Ответ 3

Хотя это прямо не относится к данной теме; если файл появился из системы 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.

Ответ 4

Попробуйте

ls -la

чтобы увидеть фактические права и права собственности на файл. Чтобы проверить, действительно ли работает команда chmod. Возможно, вы захотите изменить владельца вместе с модом проверки файла: http://www.tuxfiles.org/linuxhelp/fileowner.html

Ответ 5

Используйте chmod +x ./test.sh это должно позволить вам запустить его.

Ответ 6

Кроме того, проверьте, установлен ли каталог/файловая система, содержащая script, nfs. root не будет запускать скрипты из локализованных в nfs местоположений.

Ответ 7

вам нужно использовать ./test.sh, когда вы в каталоге этого файла, если вы этого не сделаете, попробуйте PATH TO THE SCRIPT.или вы можете скопировать его в какой-либо каталог /data и chmod для оболочки, затем выполните выше steeps.if, вы все еще терпите неудачу, это нормально, потому что у меня такая же проблема, я просто сделал это успешно за один раз.