Portál AbcLinuxu, 9. července 2025 19:35


Dotaz: Promenna - soucasny adresar...

24.11.2007 17:03 Drapalik
Promenna - soucasny adresar...
Přečteno: 280×
Odpovědět | Admin
ahoj, nevíte neexistuje proměnná jako $PWD na vypsání současného adresáře - ja nechci ale $PWD (/home/user/documents/) ale potřeboval bych vypsat jenom documents/ dik za pomoc Manual jsem projel, ale na nic jsem nenarazil - a na linuxu mám \W jenže to na solarisu nefunguje...
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.11.2007 17:14 Jirka
Rozbalit Rozbalit vše Re: Promenna - soucasny adresar...
Odpovědět | | Sbalit | Link | Blokovat | Admin
Třeba příkaz
basename $PWD
nebo
basename `pwd`
24.11.2007 17:37 Drapalik
Rozbalit Rozbalit vše Re: Promenna - soucasny adresar...
Odpovědět | | Sbalit | Link | Blokovat | Admin
jj super funguje - dik

ještě jestli můžu, já to používám pro nastavení promptu. Nevite, jak ten prompt donutit, aby se pokaždé obnovil - ponevadž když se přepnu do adresaře (někam) tak tam mám pořád ten starý název adresáře...

.bashrc PS1=\[${USER}\@${HOSTNAME}\ `basename $PWD`]\$\
24.11.2007 18:14 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: Promenna - soucasny adresar...
aby se pokaždé obnovil

Takhle se tam totiž expanduje obsah proměnné hned na počátku - takže buď zkusit escapovat ten dolar nebo tam vložit `basename \`pwd\``.

I am always ready to learn although I do not always like to be taught. (W. Churchill)
24.11.2007 18:24 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Promenna - soucasny adresar...
V promptu bashe k tomu slouží \w (aktuální adresář) nebo \W (basename aktuálního adresáře). Vizte man bash – PROMPTING.
24.11.2007 19:03 Jiří J. | skóre: 34 | blog: Poutník | Brno
Rozbalit Rozbalit vše Re: Promenna - soucasny adresar...
Nevím jak na Solarisu, ale mě v bashi funguje vyexportovaní PROMPT_COMMAND proměnné, která určuje, co se má provést po každém příkazu..

z man 1 bash:
PROMPT_COMMAND
    If set, the value is executed as a command prior to issuing each primary prompt.
24.11.2007 19:31 Drapalik
Rozbalit Rozbalit vše [Vyřešeno] Proměnná - současný adresář...
Odpovědět | | Sbalit | Link | Blokovat | Admin
Děkuju za pomoc.

řešení:
soubor .bashrc:
PS1="[\u@\h \W]\$ "

=== === ===
\u - $USER
\h - $HOSTNAME
\W - `basename $PWD`

Problém proč mi nešly náhrady jako \W, \u,... byl v tom, že jsem nepoužíval uvozovky! :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.