нет, .sh ни на что не влияет, это просто часть имени файла. шебанг нужен, чтобы операционная система понимала в какой компилятор пропихивать код в файле. рекомендуется для надёжности шебанг оформлять следующим образом: #!/usr/bin/env bash some_func() { } команда /usr/bin/env будет сама искать и додумывать какой компилятор использовать, потому что если ты захардкодишь в шебанге путь до компилятора, то у кого-то его может не быть в системе и будет ошибка, поэтому #!/usr/bin/env bash это достаточно гуманный способ для кроссплатформенных скриптов. то же самое касается и руби. ты же не можешь угадать у кого какой менеджер версий и уж тем более у кого какой путь до интерпретатора, поэтому следует писать так: #!/usr/bin/env ruby
Обсуждают сегодня