Je suis un noob Linux. J'ai remarqué que cela ne fonctionne pas:
/tomcatDirectory/bin $ startup.sh //command not found
mais cela fonctionne
/tomcatDirectory $ bin/startup.sh
Je suis habitué à Windows. Il me semble contre-intuitif que je ne peux pas exécuter un programme à partir de son directory de travail, uniquement à partir du dossier parent.
Quelle est la plus grande image de ce qui se passe ici?
Le directory actuel (ie,.) N'est pas dans votre path. Essayez avec
./startup.sh
Vous pouvez vérifier votre path avec
echo ${PATH}
Vous pouvez append le directory courant ( .
) À votre path, mais cela est considéré comme un risque (surtout si .est avant les autres directorys): lors de la saisie d'une command, le shell essayera d'abord de l'exécuter dans le directory courant. Cela exécutera ce qui est là au lieu de celui par défaut .
Résumer: il suffit de lancer les exécutables dans le directory courant avec ./
en face d'eux.
Parce que "startup.sh" ne ressemble pas vraiment à un path vers un file et que vous n'en avez pas .
dans votre variable d'environnement PATH. Mais vous pouvez toujours le démarrer en tant que ./startup.sh