Problem med ett .sh-script för kunds räkning!

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
Kirill
Inlägg: 1824
Blev medlem: 18 okt 2009, 11:50
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Gränsfors
Kontakt:

Problem med ett .sh-script för kunds räkning!

Inlägg av Kirill »

Godkväll allés...
root@GIBSON:/var/www/OCS/oct-crypto/bin# ./launcher.sh
./launcher.sh: line 4: syntax error near unexpected token `elif'
'/launcher.sh: line 4: `elif [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]]; then
root@GIBSON:/var/www/OCS/oct-crypto/bin# sh ./launcher.sh
./launcher.sh: 4: Syntax error: "elif" unexpected (expecting "then")
root@GIBSON:/var/www/OCS/oct-crypto/bin# sh ./launcher.sh
./launcher.sh: 4: Syntax error: "elif" unexpected (expecting "then")
Scriptet ser ut såhär:
if type -p java; then
echo Found java executable in PATH...
_java=java
elif [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]]; then
echo Found java executable in JAVA_HOME.
_java="$JAVA_HOME/bin/java"
else
echo "No java found. Please install it and try again!"
exit 1
fi

if [[ "$_java" ]]; then
echo This is good. Starting the Offline Tool...
$_java -jar ./../lib/oct-offline-1.0.0.jar
fi
Hälsningar
Pontus
Webmaster för
Cracker.se Linux, IT-säkerhet, Mac & Boxee Box!

Mina guider
http://ubuntu-se.org/phpBB3/viewtopic.php?f=19&t=56551
David Andersson
Inlägg: 1269
Blev medlem: 15 dec 2007, 03:20
OS: Xubuntu

Re: Problem med ett .sh-script för kunds räkning!

Inlägg av David Andersson »

Det är troligen Windows/DOS-radslut i filen (CR+LF). Ändra till Unix-radslut (LF). Kanske finns dos2unix eller flip installerat, annars kan man göra perl -pi~ 's/\r\n/\n/g' launcher.sh

(Först tänkte jag att utan shebang kanske den startar sh i stället för bash, och då funkar inte [[...]], utan ska vara [...]. Lägg till shebang eller ändra till [...] för säkerhets skull.)
Skriv svar

Återgå till "Terminalforum"