Я пытаюсь запустить сценарий bash в CentOS 6. Он не работает без заголовка shebang. Однако, когда я включаю shebang, отображается сообщение об ошибке!
Вот сценарий под названием test.sh. Он у меня в каталоге $ HOME / bin. Я запустил chmod 777
на нем, чтобы устранить любые проблемы с разрешениями. Я проверил, что он использует окончания строк Unix ...
test_var=test
echo $test_var
Я выполняю так:
sh ~/bin/test.sh
Я получаю от этого следующий результат:
/home/myusername/bin/test.sh: line 1: test_var=test: command not found
Теперь я добавляю shebang, поэтому сценарий выглядит следующим образом:
#!/bin/bash
test_var=test
echo $test_var
Когда я запускаю это, я получаю:
/home/myusername/bin/test.sh: line 1: #!/bin/bash: No such file or directory
test
Таким образом, у него не было проблем с назначением переменной после добавления shebang, но в то же время он не любит shebang!
Я проверил, и /bin/bash
действительно существует. Я попробовал коллекцию других шебанг и получил те же результаты. Я даже пробовал что-то явно недопустимое, то есть #!/fake/path
, и результат тот же!
Сценарий не будет работать без добавления shebang (неважно, что это такое), и все же он жалуется на shebang (независимо от того, что это такое)!
bash /home/myusername/bin/test.sh
? - person quickshiftin   schedule 26.01.2016