Comment puis-je faire fonctionner .sh ou .les fichiers bat depuis le Terminal?
J'ai un joli problème de base ici, ce qui s'est passé tellement de bric et de broc pour moi que jusqu'à maintenant, j'ai juste ignoré. J'ai téléchargé le serveur web tomcat et "Murach Java Servlets et JSP" livre est de me dire à naviguer à l'tomcat/bin et lancer le serveur en tapant dans le Terminal
$ de démarrage
Cependant, j'obtiens l'erreur
-bash: startup: command not found
Les fichiers dans ce répertoire sont startup.sh et de démarrage.chauve-souris. En tapant ces deux renvoie le même message d'erreur
Donc mes questions sont les suivantes, quelles sont .chauve-souris et les poissons fichiers, et comment puis-je exécuter ces fichiers? J'ai lu plusieurs tutoriels pour différents langages et des logiciels, et quelques fois quand le tutoriel dit d'exécuter un tas de fichiers en ligne de commande, je reçois un "command not found" s'affiche. Parfois ça marche, parfois ça ne marche pas. C'est déroutant pour moi, donc, ce sont quelques solutions communes à la résolution de ces sortes de "command not found" Terminal problèmes?
Vous devez vous connecter pour publier un commentaire.
La
.sh
est pour les systèmes *nix, et.bat
devrait être pour Windows. Depuis votre exemple montre un bash erreur et que vous mentionnez Terminal, je suis en supposant que c'est OS X que vous utilisez.Dans ce cas, vous devez aller dans le dossier et le type:
./
signifie simplement que vous devez appeler le script situé dans le répertoire courant. (Sinon, il suffit de taper le chemin complet de lastartup.sh
). Si cela ne fonctionne pas alors, vérifiez sistartup.sh
a les permissions d'exécution.sudo ./startup.sh
sudo sh ./startup.sh
a fonctionné pour moi sur MacOSC'est parce que le script n'est pas dans votre $PATH. Utilisation
Vous pouvez également le copier dans l'un des dossiers dans votre $PATH ou de modifier la variable $PATH, donc vous pouvez toujours utiliser juste le nom du script. Prenez garde, cependant, il ya une raison pourquoi votre dossier n'est pas dans $PATH. Il pourrait être un risque pour la sécurité.
Si vous avez encore des problèmes d'exécuter le script, vous pourriez vouloir vérifier ses autorisations - vous devez disposer des autorisations d'exécution pour l'exécuter, évidemment. Utilisation
Un
.sh
fichier est un shell script Unix. Un.bat
fichier est un fichier de commandes Windows.Type
bash script_name.sh
ou./script_name
dans le terminal linux. Avant d'utiliser./script_name
vous rendre le script exécutable parsudo chmod 700 script_name
et le typescript_name.bat
dans windows.Glisser-Déposer
Façon la plus simple pour un paresseux utilisateur de Mac comme moi: faites Glisser et déposez le
startup.sh
fichier depuis le Finder vers la fenêtre du Terminal et appuyez sur la touche Retour.À l'arrêt de Tomcat, faire de même avec
shutdown.sh
.Vous pouvez supprimer tous les
.bat
les fichiers tels qu'ils sont seulement la pour un PC sous Windows, pas les utiliser sur un Mac à l'autre ordinateur Unix. - Je les supprimer comme il le rend plus facile à lire que du dossier d'inscription.Autorisations De Fichier
Je trouve que les frais de Tomcat téléchargement ne fonctionne pas sur mon Mac, car de fichier de restrictions d'autorisation de jeter des erreurs lors du démarrage. J'utilise le
BatChmod
application qui encapsule une interface graphique autour de l'équivalence des commandes Unix pour réinitialiser les autorisations de fichier.De Redirection De Port
Systèmes Unix protéger l'accès aux ports numérotés inférieur à 1024. Donc, si vous souhaitez utiliser le port 80 avec Tomcat, vous aurez besoin d'apprendre comment le faire "redirection de port" pour transférer les requêtes entrantes sur le port 8080 où Tomcat écoute par défaut. Faire de redirection de port, vous envoyer des commandes au système de filtrage de paquets (pare-feu) application intégrée à Mac OS X (et BSD). Dans les vieux jours, nous avons utilisé
ipfw
. Dans Mac OS X 10.7 (Lion) et, plus tard, Apple est en mouvement à une version plus récente de l'outil,pf
.Sur windows type soit
startup
oustartup.bat
Sur unix type
./startup.sh
(en supposant que vous êtes situé dans tomcat/bin)
Type dans
En d'autres termes, donnez-vous la permission d'exécuter le fichier. Je devine que vous n'avez r/w autorisation.
Fichiers Batch peut être exécuté sur Linux. Cet article explique comment (http://www.linux.org/threads/running-windows-batch-files-on-linux.7610/).
Basé sur IsmailS' commentaire la commande qui a fonctionné pour moi sur OSX a été:
J'ai eu ce problème pour *.sh fichiers dans le Yosemite et je ne pouvais pas comprendre ce que le chemin d'accès correct pour un dossier sur mon Bureau...après quelques grincements de dents, fait glisser le fichier dans la fenêtre de Terminal; hop!!
Ma suggestion ne vient pas de Terminal; cependant, c'est un moyen beaucoup plus facile.
Pour .les fichiers bat, vous pouvez les exécuter à travers le Vin. Utiliser cette vidéo pour vous aider à installer: https://www.youtube.com/watch?v=DkS8i_blVCA. Cette vidéo va vous expliquer comment installer, l'installation et l'utilisation du Vin. C'est aussi simple que d'ouvrir .fichier bat dans le Vin lui-même, et il sera exécuté comme il le ferait sur Windows.
Grâce à cela, vous pouvez également exécuter .les fichiers exe, ainsi .sh fichiers.
C'est beaucoup plus simple que d'essayer de travailler sur tous les types de code du terminal.