J'ai un problème assez fondamental ici, c'est ce qui m'est arrivé si au hasard que jusqu'à présent, je l'ai simplement ignoré. J'ai téléchargé le serveur Web Tomcat et le livre "Murach's Java Servlets and JSP") me disent de naviguer dans le répertoire Tomcat/bin et de démarrer le serveur en tapant dans Terminal.
$ démarrage
Cependant, j'ai l'erreur
-bash: startup: command not found
Les fichiers pertinents de ce répertoire sont startup.sh et startup.bat. En tapant ces deux, le même message d'erreur est renvoyé
Mes questions sont donc les suivantes: que sont les fichiers .bat et sh et comment puis-je les exécuter? J'ai lu plusieurs tutoriels pour différentes langues et logiciels, et parfois, lorsque le tutoriel dit d'exécuter un groupe de fichiers dans la ligne de commande, j'obtiens une erreur "commande introuvable". Parfois cela fonctionne, parfois non. Cela me laisse perplexe. Quelles sont donc les solutions courantes pour résoudre ce type de "commande introuvable"? Problèmes de terminal?
Le .sh
est destiné aux systèmes * nix et .bat
devrait être pour Windows. Puisque votre exemple montre une erreur bash et que vous mentionnez Terminal, je suppose que vous utilisez OS X.
Dans ce cas, vous devriez aller dans le dossier et taper:
./startup.sh
./
signifie simplement que vous devez appeler le script situé dans le répertoire actuel. (Vous pouvez également taper le chemin complet du startup.sh
). Si cela ne fonctionne pas, vérifiez si startup.sh
a des autorisations d'exécution.
C'est parce que le script n'est pas dans votre $ PATH. Utilisation
./scriptname
Vous pouvez également copier ceci dans l'un des dossiers de votre $ PATH ou modifier la variable $ PATH afin de pouvoir toujours utiliser uniquement le nom du script. Attention, cependant, il y a une raison pour laquelle votre dossier actuel n'est pas dans $ PATH. Cela pourrait être un risque de sécurité.
Si vous rencontrez toujours des problèmes lors de l'exécution du script, vous pouvez vérifier ses autorisations. Vous devez évidemment disposer des autorisations d'exécution pour l'exécuter. Utilisation
chmod u+x scriptname
UNE .sh
fichier est un script Unix Shell. UNE .bat
fichier est un fichier de commandes Windows.
Tapez bash script_name.sh
ou ./script_name
dans le terminal linux. Avant d'utiliser ./script_name
vous rendre le script exécutable par Sudo chmod 700 script_name
et tapez script_name.bat
dans les fenêtres.
Le moyen le plus simple pour un utilisateur de Mac paresseux comme moi: faites glisser le startup.sh
fichier du Finder vers la fenêtre Terminal et appuyez sur Retour.
Pour arrêter Tomcat, faites de même avec shutdown.sh
.
Vous pouvez supprimer tous les .bat
fichiers car ils ne sont destinés qu’à un PC Windows, ils ne peuvent donc pas être utilisés sur un Mac sous Unix. Je les supprime car cela facilite la lecture de la liste de ce dossier.
Je constate qu’un nouveau téléchargement de Tomcat ne s’exécutera pas sur mon Mac en raison des restrictions d’autorisations de fichiers qui entraînent des erreurs lors du démarrage. J'utilise l'application BatChmod
qui enveloppe une interface utilisateur graphique autour des commandes Unix équivalentes pour réinitialiser les droits d'accès aux fichiers.
Les systèmes Unix protègent l'accès aux ports numérotés sous 1024. Donc, si vous souhaitez utiliser le port 80 avec Tomcat, vous devrez apprendre à procéder au "transfert de port" pour transférer les demandes entrantes au port 8080 où Tomcat écoute par défaut. Pour effectuer un transfert de port, vous devez exécuter des commandes sur l'application de filtrage de paquets (pare-feu) intégrée à Mac OS X (et BSD ). Dans les temps anciens, nous utilisions ipfw
. Dans Mac OS X 10.7 (Lion) et versions ultérieures Apple passe à un outil plus récent, pf
.
Sous Windows, tapez startup
ou startup.bat
Sur le type unix ./startup.sh
(en supposant que vous vous trouvez dans le répertoire Tomcat/bin)
Tapez
chmod 755 scriptname.sh
En d'autres termes, donnez-vous la permission d'exécuter le fichier. J'imagine que vous n'avez qu'une permission r/w dessus.
Basé sur commentaire d'IsmailS , la commande qui a fonctionné pour moi sous OSX était:
Sudo sh ./startup.sh
Les fichiers batch peuvent être exécutés sous Linux. Cet article explique comment ( http://www.linux.org/threads/running-windows-batch-files-on-linux.7610/ ).