Aller au contenu

Prompt Ash


r0m1

Messages recommandés

Bonjour

Dans le fichier /root/.profile il y a une variable PS1 qui comporte la chaine du prompt pour l'utilisateur root dans un terminal.

J'aimerai que le prompt affiche l'emplacement courant exemple :

/volume1/web >

Je ne pense pas qu'un fichier dans /bin renvoi cette information mais sinon existe t'il une librairie disponible dans IPKG qui pourrai me retourner cette information ?

Merci

Lien vers le commentaire
Partager sur d’autres sites

  • 1 an après...
  • 8 mois après...

Bonsoir

il suffirait que syno fasse une mise a jour de busybox pour le prompt ce pb m'existe plus sur les version recente de BB

Bonsoir,

Voici ma petite manip pour modifier ce fameux prompt :

comme la variable PS1 est initialisée au démarrage de la session, il faut la rafraîchir à chaque commande "cd".

partant de ce principe, j'ai appliqué la procédure suivante :

1. On commence par supprimer (ou plutôt renommer) le fichier "/etc/profile" afin d'utiliser le ".profile" du répertoire "/root"

2. On utilise ensuite un alias qui remplace la commande "cd" par le script "monCD".

Le script sera placé dans le répertoire "/root"

Dans ce script, commence par supprimer temporairement l'alias (sinon, on boucle ...)

Ensuite, on exécute la vraie commande "cd"

On actualise le prompt par l'intermédiaire de la variable PS1

On se repositionne sur le répertoire actuel pour afficher ce nouveau prompt

Et on termine en recréant l'alias cd pour la prochaine commande.

fichier monCD :

--------------------------------------------------------------

#!/bin/bas

unalias cd

cd $1

PS1="`whoami`@`hostname` `pwd` $ " cd `pwd`

alias cd=". monCD"

---------------------------------------------------------------

3. Une fois ce fichier enregistré, on le rend exécutable :

chmod +x monCD

4. Il ne reste plus qu'à modifier le fichier ".profile" du répertoire "/root" afin que les changements soient pris en compte :

on édite ce fichier et on rajoute les lignes suivantes (lignes en rouge) :

fichier .profile :

--------------------------------------------------------------

#/etc/profile: system-wide .profile file for ash. PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin

umask 022

#This fixes the backspace when telnetting in.

#if [ "$TERM" != "linux" ]; then

# stty erase

#fi

PATH=~:$PATH export PATH

HOME=/root

export HOME

TERM=${TERM:-cons25}

export TERM

PAGER=more

export PAGER

PS1="`whoami`@`hostname` `pwd` $ "

alias dir="ls -al"

alias ll="ls -la"

alias cd=". monCD"

ulimit -c unlimited

--------------------------------------------------------------

5. en principe, en ré-ouvrant un terminal telnet, on doit obtenir l'écran suivant :

--------------------------------------------------------------

BusyBox v1.1.0 (2009.04.21-14:52+0000) Built-in shell (ash)

Enter 'help' for a list of built-in commands.

root@DiskStation /root $ cd /usr/syno

root@DiskStation /usr/syno $ cd /

root@DiskStation / $ cd

root@DiskStation /root $

--------------------------------------------------------------

Lien vers le commentaire
Partager sur d’autres sites

ouais, pas mal.

mais bon, un simple ipkg install bash et la modification de /etc/passwd pour mettre bash dans le shell de root donne une solution plus efficace

Lien vers le commentaire
Partager sur d’autres sites

coucou je viens de découvrir ce fil, le seul truc qui me manque c'est le bon vieux bash history, ben vi quand tu compile en natif, c'est bien pratique de reprendre tes commandes de la veille ou du week end dernier, sans avoir à tout noter, il suffit que j'édite cet historique sous debian et hop j'ai ma liste de commandes, bien pratique tout de même pour eviter de tout re taper et debuguer ma syntaxe

tu as un truc dans le genre là pour pas cher, sinon je déstocke une caisse de glutes glacées sur le bar du fofo ? ikeke a oublié les clés, shutttt ;)

Lien vers le commentaire
Partager sur d’autres sites

merci je vais regarder ca de plus près ce week end :)

en fait il n'y a aucun historique, tu garde en gros tes 5 ou 6 dernières lignes de commandes le temps de la cession, si tu te déconnecte/re connecte tu perds tout, et aucun rappel possible

sur syno je voulais parler de ash, habitué au bash sur ma debian

Lien vers le commentaire
Partager sur d’autres sites

  • 7 mois après...
  • 8 mois après...

Non c'est bon en fait !!!

MERCI !

il suffit juste de saisir bash dans le prompt

par contre qd on se connecte on peut arriver direct sur le bash ?

oui, il faut modifier le shell de l'utilisateur dans /etc/passwd

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.