Cela fonctionne bien et résout mon problème, merci beaucoup.
Loc_rabbirt
8
J'ai eu le même problème, voici comment je l'ai résolu:
Une des deux choses s'est produite. Soit le répertoire a /rootété supprimé; ou un fichier /corrompu manquant .bashrcdans /root( .bashrcsources /etc/bashrc, qui définit l'invite), vous pouvez exécuter la commande suivante pour restaurer les fichiers d'origine (qui sont copiés automatiquement lorsque la racine ou tout compte d'utilisateur est créé). Exécutez cette commande en tant qu'utilisateur qui rencontre des problèmes OU définissez le chemin de destination vers/home/directory/user/
cp -v /etc/skel/.bash*~/#if logged in as user
cp -v /etc/skel/.bash*/home/user/#run as root
Devrait remplacer le .bash_logout, .bash_profileet .bashrc- quitter le terminal et vous reconnecter. Le -bash-4.1#devrait maintenant être parti!
Je vous remercie! Je cours en cp -v /etc/skel/.bash* ~/ tant que root et j'ai parfaitement fonctionné!
zinon
4
Selon votre commentaire, il semble que vous ayez fait un su, pour passer à l'utilisateur root, plutôt que su -. La fin -fera du shell un shell de connexion, sans cela, vous remarquerez peut-être que votre environnement root est "désactivé".
Pour quitter la susession, tapez simplement exitEnterou appuyez sur ctrl+ d. Entrez à nouveau la session à l'aide de su -. Voir la page de manuel,, man supour plus de détails.
Comment puis-je m'en sortir pour qu'il affiche simplement [root @ hostname] # et mon dossier actuel et d'autres choses?
1
Consultez la page de manuel et voyez comment définir votre invite.
mdpc
1
Cela signifie qu'à un endroit, votre invite de commande a été modifiée par le contenu de .profile (ou le profil système) .... dans le second cas, votre invite n'a pas été modifiée.
BTW, ce qui est "normal". À mon avis, la valeur par défaut de l'application (la deuxième entrée) est normale. Comme dans d'autres choses, "normal" signifie différentes choses pour différentes personnes. Dans UNIXland, il y a tellement de façons de faire les choses, une balise comme celle-ci n'a vraiment aucun sens.
Je vous suggère fortement d'étudier attentivement la page de manuel ou de chercher un bon livre sur bash.
Ma réponse est toujours valable ... veuillez obtenir un livre shell si vous utilisez beaucoup le shell bash.
mdpc
D'accord, j'obtiendrai un livre, mais jusqu'à ce que je le fasse, comment puis-je revenir au [root @ hostname] #?
Ce que je dirais, c'est réexécuter le profil du système en utilisant le '.' commande ... en supposant que votre profil système fournit une telle invite.
mdpc
0
Avez-vous par hasard essayé de modifier votre fichier .bashrc?
semble que toutes ces personnes ne savaient pas comment obtenir réellement l'invite pour revenir en arrière pour afficher [root @ domain] ~ #
J'ai du mal à croire qu'il n'ait pas obtenu de réponse directe à sa question. Parce que je cherche cette même réponse.
%userx@voided ~>>$cat /etc/skel/.bashrc
# .bashrc# If not running interactively, don't do anything[[ $-!=*i*]]&&return
alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
ne change pas l'invite pour indiquer root quand on utilise su-password pour basculer vers root. le mien ne montre que #
/etc/skel
.echo $PS1
montre-t-on? Avez-voussu
pris racine au lieu desu -
?ls -a /root/ | egrep '^\.'
?Réponses:
Exécutez cette commande dans votre terminal:
export PS1='[\u@\h \W]\$ '
Si vous souhaitez afficher cette invite après le redémarrage, vous pouvez essayer ceci (avec su):
echo "export PS1='[\u@\h \W]\$ '" > /etc/profile.d/bash_prompt.sh
Plus d'information:
man bash
la source
J'ai eu le même problème, voici comment je l'ai résolu:
Une des deux choses s'est produite. Soit le répertoire a
/root
été supprimé; ou un fichier/
corrompu manquant.bashrc
dans/root
(.bashrc
sources/etc/bashrc
, qui définit l'invite), vous pouvez exécuter la commande suivante pour restaurer les fichiers d'origine (qui sont copiés automatiquement lorsque la racine ou tout compte d'utilisateur est créé). Exécutez cette commande en tant qu'utilisateur qui rencontre des problèmes OU définissez le chemin de destination vers/home/directory/user/
Devrait remplacer le
.bash_logout
,.bash_profile
et.bashrc
- quitter le terminal et vous reconnecter. Le-bash-4.1#
devrait maintenant être parti!la source
cp -v /etc/skel/.bash* ~/
tant que root et j'ai parfaitement fonctionné!Selon votre commentaire, il semble que vous ayez fait un
su
, pour passer à l'utilisateur root, plutôt quesu -
. La fin-
fera du shell un shell de connexion, sans cela, vous remarquerez peut-être que votre environnement root est "désactivé".Pour quitter la
su
session, tapez simplementexit
Enterou appuyez sur ctrl+ d. Entrez à nouveau la session à l'aide desu -
. Voir la page de manuel,,man su
pour plus de détails.la source
Cela signifie que vous utilisez le shell bash. Version 4.1 .
la source
Cela signifie qu'à un endroit, votre invite de commande a été modifiée par le contenu de .profile (ou le profil système) .... dans le second cas, votre invite n'a pas été modifiée.
BTW, ce qui est "normal". À mon avis, la valeur par défaut de l'application (la deuxième entrée) est normale. Comme dans d'autres choses, "normal" signifie différentes choses pour différentes personnes. Dans UNIXland, il y a tellement de façons de faire les choses, une balise comme celle-ci n'a vraiment aucun sens.
Je vous suggère fortement d'étudier attentivement la page de manuel ou de chercher un bon livre sur bash.
la source
Avez-vous par hasard essayé de modifier votre fichier .bashrc?
Il y a une copie de sauvegarde située ici:
Pour restaurer root, exécutez ceci:
la source
semble que toutes ces personnes ne savaient pas comment obtenir réellement l'invite pour revenir en arrière pour afficher [root @ domain] ~ #
J'ai du mal à croire qu'il n'ait pas obtenu de réponse directe à sa question. Parce que je cherche cette même réponse.
ne change pas l'invite pour indiquer root quand on utilise su-password pour basculer vers root. le mien ne montre que #
quand il faisait la même chose.
la source