Könntest du so machen; kommt darauf an, was du erreichen willst.
Das '&&' stellt sicher, dass ein Befehl nur ausgeführt wird, wenn der vorherige Befehl erfolgreich war. Ist das ln nur dann sinnvoll, wenn unzip erfolgreich war?
Nur halt: Die Bash und einige andere Shells haben die nervige Angewohnheit Variablen bei der Variablen-Expansion zu splitten, wenn sie Leerzeichen enthalten. Bedingt dadurch kann die Zeile 6 eine andere Semantik haben, als von dir intendiert und zwar dann, wenn mindestens $url ein Leerzeichen ethält. In dem Fall würde die Zeile wohl einen Fehler produzieren.
Umgehen kannst du, wie schon rklm vorschlug durch explizites Quotieren der Variable, damit die Bash das nicht splittet:
&& unzip app.zip -d "$application_root" \
Die Frage ist vielleicht auch, ob das Skript nur von dir oder auch von anderen benutzt werden soll. Wenn von anderen, würde sich empfehlen noch Fehlermeldungen einzubauen, falls etwas schief geht.
Generell kann man das einfach so machen:
...
if ! mkdir -p "$application_root/1"
then
echo "Konnte Ordner nicht anlegen: $application_root. Breche ab"
exit 1
fi
unzip ...