Scusami se questa è una domanda stupida, ma l'ho cercato senza successo.
Cosa fa esattamente la seconda riga?
#!/bin/sh
cd ${0%/*} || exit 1
So che il primo è lo shebang, il secondo cerca di cambiare directory ma la parte confusa è ${0%/*}.
Potete per favore spiegarmi quella seconda riga?
dirnameintegrata? Certamente non è in Bash v4.3.11 che è la shell predefinita in Ubuntu Trusty.
dirnameho appena verificato che non è una shell integrata.
dirnamecomando incorporato come$(dirname $0)