Bonjour,

J'ai d'une part un tomcat 7.0.55 sur un serveur openSuse.
J'y trouve dans /usr/share/tomcat un lien catalina.sh qui pointe vers /usr/sbin/dtomcat.
Dans ce fichier se trouve entre autre ceci :
Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
if [ "$1" = "start" ]; then
 
...
 
else
  echo "Usage: $0 {start|start-security|stop|version}"

Précision : il n'y a pas de startup.sh dans le répertoire de tomcat précité.

J'ai d'autre part une application (Ametys) qui, pour fonctionner correctement, implique qu'un user créé pour l'application (cms) lance tomcat. Avec l'application est fourni un script tomcat-bo qui contient entre autres, ceci :
Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
su - $USER -s /bin/bash -c $CATALINA_HOME/bin/startup.sh

J'ai remplacé cette ligne par la suivante :
Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
su - $USER -s /bin/bash -c $CATALINA_HOME/bin/catalina.sh start

Mais au lancement de ce script, j'obtiens systématiquement ceci :
Starting tomcat-bo: Usage: /usr/share/tomcat/bin/catalina.sh {start|start-security|stop|version}
La dernière partie du message vient évidemment de catalina.sh -> dtomcat.

J'ai essayé en mettant start entre guillemet ou en remplaçant start par $1 puisque tomcat-bo se lance avec le paramètre start ou stop, comme catalina.sh. J'ai aussi essayé la syntaxe suivante mais avec toujours le même message et tomcat ne se lance pas.
Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
exec su - $USER -s /bin/bash -c $CATALINA_HOME/bin/catalina.sh $1

Quelle serait la bonne syntaxe ?