Jonathan Fey wrote:
#!/bin/sh
# Try to run the setup program echo "Testing system." if { ldd ./setup.data/bin/x86/glibc-2.1/setup.gtk | grep -Ei "notfound|missing" > /dev/null }; then
Ich nehme mal an, das steht in einer Zeile. man sh sagt mir hier (sun): { list;} list is executed in the current (that is, parent) shell. The { must be followed by a space. Und nun sieh dir das Zeichen hinter list an. Das fehlt in deinem Statement. Also: if { ldd ./setup.data/bin/x86/glibc-2.1/setup.gtk | grep -Ei "notfound|missing" > /dev/null; }; then ^
echo "You are missing a few libraries:" ldd ./setup.data/bin/x86/glibc-2.1/setup.gtk | grep -Ei "notfound|missing" exit else echo "Executing installer." ./setup.data/bin/x86/glibc-2.1/setup.gtk exit fi
Andreas PS: Dieses Miniskript hindert dich wirklich schon an der Installation? Was hält dich davon ab, den "ldd ..." von Hand zu starten, die Ausgabe zu interpretieren und dann evtl. den Installer anzuwerfen? Oder den Installer direkt zu starten? Oder warst Du echt ernsthaft an dem Syntaxfehler interessiert?