Mailinglist Archive: opensuse-de (1622 mails)
| < Previous | Next > |
Re: Probleme mit Shellscript und "Befehl a usführen"
- From: "Kay Patzwald" <mailing-lists@xxxxxx>
- Date: Sat, 03 Sep 2005 10:30:06 +0200
- Message-id: <op.swipwgnpk0rzaz@xxxxxxxxxx>
On Sun, 12 Jun 2005 18:14:45 +0200, Kay Patzwald <mailing-lists@xxxxxx>
wrote:
Ich habe das gleiche Problem jetzt auch bei einem anderen Start-Skript (auch für ein RPM).
Hat niemand ne Idee, wie man das Problem lösen kann?
Hier das andere Skript, was ich nicht selber geschrieben habe:
#!/bin/bash
# Based on Start-Script provided by Azureus
######## CONFIGURE ########
JAVA_PROGRAM_DIR="" # use full path to java bin dir, ex. "/usr/java/j2sdk1.4.2/bin/"
PROGRAM_DIR="/usr/share/tvbrowser" # use full path to TV-Browser bin dir
##########i#################
MSG0="Loading TV-Browser:"
MSG1="Starting TV-Browser..."
MSG2="Java exec found in "
MSG3="OOPS, your java version is too old "
MSG4="You need to upgrade to JRE 1.4.x or newer from http://java.sun.com"
MSG5="Suitable java version found "
MSG6="Configuring environment..."
MSG7="OOPS, you don't seem to have a valid JRE "
MSG8="OOPS, unable to locate java exec in "
MSG9=" hierarchy"
MSG10="Java exec not found in PATH, starting auto-search..."
MSG11="Java exec found in PATH. Verifying..."
look_for_java()
{
JAVADIR=/usr/java
IFS=$'\n'
potential_java_dirs=(`ls -1 "$JAVADIR" | sort | tac`)
IFS=
for D in "${potential_java_dirs[@]}"; do
if [[ -d "$JAVADIR/$D" && -x "$JAVADIR/$D/bin/java" ]]; then
JAVA_PROGRAM_DIR="$JAVADIR/$D/bin/"
echo $MSG2 $JAVA_PROGRAM_DIR
if check_version ; then
return 0
else
return 1
fi
fi
done
echo $MSG8 "${JAVADIR}/" $MSG9 ; echo $MSG4
return 1
}
check_version()
{
JAVA_HEADER=`${JAVA_PROGRAM_DIR}java -version 2>&1 | head -n 1`
JAVA_IMPL=`echo ${JAVA_HEADER} | cut -f1 -d' '`
if [ "$JAVA_IMPL" = "java" ] ; then
VERSION=`echo ${JAVA_HEADER} | sed "s/java version \"\(.*\)\"/\1/"`
if echo $VERSION | grep "^1.[0-3]" ; then
echo $MSG3 "[${JAVA_PROGRAM_DIR}java = ${VERSION}]" ; echo $MSG4
return 1
else
echo $MSG5 "[${JAVA_PROGRAM_DIR}java = ${VERSION}]" ; echo $MSG6
return 0
fi
else
echo $MSG7 "[${JAVA_PROGRAM_DIR}java = ${JAVA_IMPL}]" ; echo $MSG4
return 1
fi
}
echo $MSG1
# locate and test the java executable
if [ "$JAVA_PROGRAM_DIR" == "" ]; then
if ! command -v java &>/dev/null; then
echo $MSG10
if ! look_for_java ; then
exit 1
fi
else
echo $MSG11
if ! check_version ; then
if ! look_for_java ; then
exit 1
fi
fi
fi
fi
# get the app dir if not already defined
if [ -z "$PROGRAM_DIR" ]; then
PROGRAM_DIR=`dirname "$0"`
PROGRAM_DIR=`cd "$PROGRAM_DIR"; pwd`
else
if [ "$(echo ${PROGRAM_DIR}/*.jar)" = "${PROGRAM_DIR}/*.jar" ]; then
echo "You seem to have set an invalid PROGRAM_DIR, unable to continue!"
exit 1
elif ! (echo ${PROGRAM_DIR}/*.jar | grep tvbrowser.jar >/dev/null 2>&1 ); then
echo "Unable to locate tvbrowser.jar in $PROGRAM_DIR, aborting!"
exit 1
fi
fi
echo $MSG0
cd ${PROGRAM_DIR}
echo "${JAVA_PROGRAM_DIR}java -Xms16m -Xmx128m -Djava.library.path=\"${PROGRAM_DIR}\" -jar tvbrowser.jar '$@'"
${JAVA_PROGRAM_DIR}java -Xms16m -Xmx128m -Djava.library.path="${PROGRAM_DIR}" -jar tvbrowser.jar "$@"
echo "TV-Browser TERMINATED."
Hallo,
ich habe hier ein kleines Shellscript, was Probleme macht, wenn ich es mit "Befehl ausführen" ausführe. Das Programm startet im Hintergrund, der Dialog von "Befehl ausführen" verschwindet nicht. Erst wenn ich das Programm beende, bekomme ich folgende Fehlermeldung: "KDEInit konnte "rssowl" nicht starten.".
Wenn ich das Programm aus dem K-Menü aufrufe oder in der Konsole starte, gibt es keine Probleme. Auch wenn ich in "Befehl ausführen" ein Häkchen bei "In Terminal starten" mache, funktioniert es, ist allerdings unschön, da die Shell ja die ganze Zeit offen sein muss.
Ich habe das gleiche Problem jetzt auch bei einem anderen Start-Skript (auch für ein RPM).
Hat niemand ne Idee, wie man das Problem lösen kann?
Hier das andere Skript, was ich nicht selber geschrieben habe:
#!/bin/bash
# Based on Start-Script provided by Azureus
######## CONFIGURE ########
JAVA_PROGRAM_DIR="" # use full path to java bin dir, ex. "/usr/java/j2sdk1.4.2/bin/"
PROGRAM_DIR="/usr/share/tvbrowser" # use full path to TV-Browser bin dir
##########i#################
MSG0="Loading TV-Browser:"
MSG1="Starting TV-Browser..."
MSG2="Java exec found in "
MSG3="OOPS, your java version is too old "
MSG4="You need to upgrade to JRE 1.4.x or newer from http://java.sun.com"
MSG5="Suitable java version found "
MSG6="Configuring environment..."
MSG7="OOPS, you don't seem to have a valid JRE "
MSG8="OOPS, unable to locate java exec in "
MSG9=" hierarchy"
MSG10="Java exec not found in PATH, starting auto-search..."
MSG11="Java exec found in PATH. Verifying..."
look_for_java()
{
JAVADIR=/usr/java
IFS=$'\n'
potential_java_dirs=(`ls -1 "$JAVADIR" | sort | tac`)
IFS=
for D in "${potential_java_dirs[@]}"; do
if [[ -d "$JAVADIR/$D" && -x "$JAVADIR/$D/bin/java" ]]; then
JAVA_PROGRAM_DIR="$JAVADIR/$D/bin/"
echo $MSG2 $JAVA_PROGRAM_DIR
if check_version ; then
return 0
else
return 1
fi
fi
done
echo $MSG8 "${JAVADIR}/" $MSG9 ; echo $MSG4
return 1
}
check_version()
{
JAVA_HEADER=`${JAVA_PROGRAM_DIR}java -version 2>&1 | head -n 1`
JAVA_IMPL=`echo ${JAVA_HEADER} | cut -f1 -d' '`
if [ "$JAVA_IMPL" = "java" ] ; then
VERSION=`echo ${JAVA_HEADER} | sed "s/java version \"\(.*\)\"/\1/"`
if echo $VERSION | grep "^1.[0-3]" ; then
echo $MSG3 "[${JAVA_PROGRAM_DIR}java = ${VERSION}]" ; echo $MSG4
return 1
else
echo $MSG5 "[${JAVA_PROGRAM_DIR}java = ${VERSION}]" ; echo $MSG6
return 0
fi
else
echo $MSG7 "[${JAVA_PROGRAM_DIR}java = ${JAVA_IMPL}]" ; echo $MSG4
return 1
fi
}
echo $MSG1
# locate and test the java executable
if [ "$JAVA_PROGRAM_DIR" == "" ]; then
if ! command -v java &>/dev/null; then
echo $MSG10
if ! look_for_java ; then
exit 1
fi
else
echo $MSG11
if ! check_version ; then
if ! look_for_java ; then
exit 1
fi
fi
fi
fi
# get the app dir if not already defined
if [ -z "$PROGRAM_DIR" ]; then
PROGRAM_DIR=`dirname "$0"`
PROGRAM_DIR=`cd "$PROGRAM_DIR"; pwd`
else
if [ "$(echo ${PROGRAM_DIR}/*.jar)" = "${PROGRAM_DIR}/*.jar" ]; then
echo "You seem to have set an invalid PROGRAM_DIR, unable to continue!"
exit 1
elif ! (echo ${PROGRAM_DIR}/*.jar | grep tvbrowser.jar >/dev/null 2>&1 ); then
echo "Unable to locate tvbrowser.jar in $PROGRAM_DIR, aborting!"
exit 1
fi
fi
echo $MSG0
cd ${PROGRAM_DIR}
echo "${JAVA_PROGRAM_DIR}java -Xms16m -Xmx128m -Djava.library.path=\"${PROGRAM_DIR}\" -jar tvbrowser.jar '$@'"
${JAVA_PROGRAM_DIR}java -Xms16m -Xmx128m -Djava.library.path="${PROGRAM_DIR}" -jar tvbrowser.jar "$@"
echo "TV-Browser TERMINATED."
| < Previous | Next > |