Comment d'affichage de l'invite dans KornShell pour afficher le nom d'hôte et le répertoire courant?
Je suis en utilisant KornShell (ksh) sur Solaris et actuellement ma PS1 env var est:
PS1="${HOSTNAME}:\${PWD} \$ "
Et l'invite affiche: hostname:/full/path/to/current/directory $
Cependant, je voudrais qu'il affiche: hostname:directory $
En d'autres termes, comment puis-je afficher le nom d'hôte et le nom du répertoire courant, c'est à dire tmp
ou ~
ou public_html
etc etc?
OriginalL'auteur daveslab | 2009-07-23
Vous devez vous connecter pour publier un commentaire.
À la lecture de la ksh page de man vous voulez
Testé sur défaut ksh sur SunOS 5.8
J'étais curieux de savoir si l' ##*/ est un truc commun et d'avoir découvert ce site cfaj.freeshell.org/shell/commands . il a une autre utilité shell astuces 😉
Cool, merci mec.
OriginalL'auteur Rudi Bierach
Bon, un peu vieux et un peu en retard, mais c'est ce que j'utilise dans Kornshell:
Ce fait une invite de commande qui est l'équivalent de
PS1="\u@\h:\w\n$ "
en BASH.Par exemple:
J'aime les deux de la ligne de commande parce que j'ai parfois très longues, les noms de répertoire, et ils peuvent prendre jusqu'à un lot de la ligne de commande. Si vous voulez une ligne de commande, il suffit de laisser passer le "\n" à la dernière instruction d'impression:
C'est l'équivalent de
PS1="\u@\h:\w$ "
dans BASH:Ce n'est pas tout à fait aussi facile que la mise en place d'une invite BASH, mais vous obtenez l'idée. Simplement écrire un script pour
PS1
et Kornshell va l'exécuter.Pour Solaris et d'autres Âgées Versions du Kornshell
J'ai trouvé que le ci-dessus ne fonctionne pas sur Solaris. Au lieu de cela, vous aurez à faire c'est de la vraie hackish façon...
Dans votre
.profile
, assurez-vous queENV="$HOME/.kshrc"; export ENV
est définie. C'est probablement configuré correctement pour vous.
Dans votre
.kshrc
fichier, vous allez faire deux choses_cd
. Cette fonction va changer dans le répertoire spécifié, puis définissez votre PS1 variable en fonction de votre ddt.cd
pour exécuter le_cd
fonction.C'est la partie pertinente de la
.kshrc
fichier:Ceci permettra de définir votre prompt comme la equivelent BASH
PS1="\u@\h:\w$ "
. Il n'est pas assez, mais il fonctionne.première
PS1
code est manquant'
😉Ok. Il a été ajouté.
OriginalL'auteur David W.
ENV=~/.kshrc, et puis dans votre .kshrc:
Brad
OriginalL'auteur Brad
OriginalL'auteur Robin Hoo
OriginalL'auteur user8585881
et...
si vous travaillez entre les deux coquilles pour la plupart de vos efforts [ksh et bourne sh]
et le désir d'un répertoire de suivi de l'affichage sur votre ligne de commande
puis PWD peut être remplacé facilement en ksh
et si vous utilisez /usr/xpg4/bin/sh pour votre sh SHELL, il va y travaillent ainsi
OriginalL'auteur Zzeon
Essayez ceci:
Plus d'informations sur: Comment: Modifier /Installation de bash invite personnalisée, je sais que vous avez dit ksh, mais je suis assez sûr que cela fonctionne.
Désolé, cela ne fonctionne pas comme vous avez tapé à la machine. Je suis assez certain que ce que vous avez tapé est BASH syntaxe. Grâce tho.
Que l'invite de la ligne de produit plus ou moins le résultat souhaité sur OpenBSD 6 ksh. Je suis sur PS1="\h:\W " moi-même.
Fonctionne pour moi sur ksh trop.
OriginalL'auteur Freddy