Lo siento si esta es una pregunta estúpida, pero la busqué sin éxito.
¿Qué hace exactamente la segunda línea?
#!/bin/sh
cd ${0%/*} || exit 1
Sé que el primero es el shebang, el segundo intenta cambiar el directorio pero la parte confusa es ${0%/*}.
¿Me puede explicar esa segunda línea?
dirnameestá integrado? Ciertamente no está en Bash v4.3.11, que es el shell predeterminado en Ubuntu Trusty.
dirnameno es un shell incorporado.
dirnamecomando incorporado como$(dirname $0)