У меня есть файл .sh. Он включает синтаксис bash.
#!/bin/bash
function foo() {
// do something
}
doo()
// do something
sh не ссылается на bash в моей системе.
Команда ниже не работает:
sh sample.sh
Выдает синтаксическую ошибку. Команда ниже работает нормально.
bash sample.sh
Я думаю, что «#!/bin/bash» бесполезен для моего случая. Я знаю, что ш != баш. Но нужно ли указывать sh/bash/etc, как в верхнем примере, для запуска файла .sh?
sh yourscript
игнорирует строку shebang и заставляетsh
. Не используйте его; просто запустите./yourscript
. - person Charles Duffy   schedule 07.06.2019