J'écris un fichier Bash. J'ai besoin de démarrer Lorsque je l'exécute avec root, une erreur s'est produite: p> j'ai cherché et je l'ai trouvé que je devrais Soyez Super utilisateur em> avec maintenant, je veux savoir: p> pourquoi cette erreur s'est produite? P> LI>
Comment puis-je l'exécuter avec apachectl code> em> de mon fichier bash. donc j'ai écrit:
SU - code> pas
su code> p>
su code>? p> li>
ul> p>
8 Réponses :
L'erreur de commande non trouvée est parce que "Apachectl" n'est pas dans votre chemin. Utilisez simplement le chemin complet de la commande, par exemple p>
/etc/init.d/aPachectl Démarrer p> blockQuote>
Si vous obtenez une erreur de permission refusée, vous devez exécuter en tant qu'utilisateur différent. C'est un problème différent cependant. p>
Dans les scripts Shell, vous devez utiliser des chemins complets afin d'exécuter la commande sauf si le répertoire avec exécutable déjà en $ chemin.
Par exemple, trouvez où se trouve Apachectl Binarys: ou p> et vous obtiendrez quelque chose comme: p> /usr/local/sbin/apachectl
Il semble que la commande apachectl code> n'est pas dans votre chemin d'environnement. Localisez le répertoire, où
apachectl code> réside et ajoutez ceci à votre page
code> ou démarrez-le avec le chemin complet. La plupart des distributions modernes utilisent
sudo code> pour permettre aux utilisateurs gagnant des droits élevés, vous devez donc utiliser
sudo code>, si disponible pour vous. p>
Utilisez la commande Rechercher pour rechercher d'abord Apachecetl
/usr/local/apache/bin/apachectl restart
Tuez d'abord tout le service httpd à l'aide de ... Deuxièmement, trouvez Apachectl. Appuyez sur Ctrl + R dans la borne Entrez un mot "Apachectl" pour rechercher le chemin "Apachectl". P> Après avoir sélectionné: P> sudo <path>/apachectl stop|start
Après démarrage Apache Sudo Service HTTPD Démarrer
ci-dessous commande travaillé pour moi: p>
sudo / usr / sbin / apachectl -kstart p>
Eh bien, cela arrive pourquoi votre port est utilisé maintenant d'autres services. car vous savez que p>
Service est utilisé Ecrire Next Comand de NetStat: P>
Si vous voulez connaître le port 8080, utilisez Suivant Comand: P>
Dans mon cas a été exécuté lightpd alors appliquez la prochaine Commission: P>
Veuillez améliorer la grammaire, l'explication n'est pas très claire.
La réponse ci-dessus m'a beaucoup aidé mais les commandes doivent être:
Il ressemble à
apachectl code> n'est pas dans votre chemin. Essayez
Rechercher / -Name Apachectl code>.
Oui merci, c'était dans / usr / sbin /, alors merci!