Question Pourquoi "sudo cd" ne fonctionne pas?


Pourquoi taper sudo cd peu importe ne changera pas le répertoire?


74
2018-02-03 08:24


origine


voir askubuntu.com/questions/291666/... - John


Réponses:


cd est un shell intégré. sudo ne fonctionne qu'avec des exécutables. Vous pourriez faire sudo sh -c 'cd dirname' mais dès que le shell se ferme, vous êtes renvoyé au répertoire à partir duquel vous avez démarré. Si vous dites ce que vous essayez d’accomplir, alors je peux vous aider à trouver un moyen de le faire.


49
2018-02-03 08:29



Mais alors sudo pwd ne fonctionnerait pas non plus? (J'ai toujours pensé que sudo cd  Est-ce que travail, mais vous ne voyez pas le résultat après sudo résultats. Mais c'était juste une conjecture sauvage. Peut-être ni cd ni pwd sont en fait intégrés dans Bash sur un Mac. Fonctionnement which cd  Est-ce que vraiment me donner des résultats. Fonctionnement sudo cd / ne me donne pas d'erreur, mais n'aboutit pas à un répertoire de travail modifié.) - Arjan
@Arjan: pwd est également un exécutable externe pour que cela fonctionne. Notez que sur certains systèmes, il y a un cd exécutable, mais il est surtout inutile. Essayez d'utiliser type -a cd c'est beaucoup plus informatif que which, au fait. - Dennis Williamson
Agréable! type -a cd montre les deux cd is a shell builtin et cd is /usr/bin/cd sur mon Mac. Et de même pour pwd et echo. Et les deux sudo pwd et sudo echo "Hello world" donnez-moi un résultat. cependant, type -a return seulement des rendements return is a shell builtin, et sudo return 3 me montre sudo: return: command not found. Donc, je suppose que la question est la suivante: l'OP reçoit-il un message d'erreur ou l'OP ne voit-il pas le message d'erreur? cd travailler sans erreur? (Ou: quel système d'exploitation utilise l'OP.) - Arjan
sudo sh -c 'cd dirname' ne fait rien pour moi. - Peter Niederwieser
@ Peter: Voir la partie de ma réponse qui commence "mais ..." - Dennis Williamson


Essayez plutôt d'utiliser sudo -s pour démarrer un shell racine, puis simplement cd dans le répertoire.
Lorsque vous avez terminé en tant que root, appuyez sur Ctrl ou tapez exit.


Comme Arjan le suggère dans son commentaire ci-dessous, il est important de noter qu'en tant que root, on peut facilement endommager les composants essentiels du système. Utilisez avec précaution!


66
2018-02-03 08:56



Mais: soyez prudent, une fois que l'on est root ... - Arjan


Vous pouvez simplement su devenir racine puis cd tout ce que vous voulez ... Je sais qu'une réponse a déjà été acceptée, mais si l'on ne figure pas dans la liste des sudoers, c'est la seule option.


7
2018-04-24 08:57



Par contre, s'il n'y a pas de mot de passe root ou si vous ne le connaissez pas, sudo est la seule option. - Liam