Desculpe se esta é uma pergunta estúpida, mas eu pesquisei sem sucesso.
O que exatamente a segunda linha faz?
#!/bin/sh
cd ${0%/*} || exit 1
Eu sei que o primeiro é o shebang, o segundo tenta mudar de diretório, mas a parte confusa é ${0%/*}.
Você pode me explicar essa segunda linha?
dirnamee incorporada? Certamente não está no Bash v4.3.11, que é o shell padrão no Ubuntu Trusty.
dirnamenão é um shell embutido.
dirnamecomando$(dirname $0)