Portál AbcLinuxu, 12. května 2025 18:23
jde mi o tohle, udělal bych: cesta=pwd echo $cesta ted vypise /home/neco/slozka a ja potřebuju tohle: ls $cesta/FILES, jenže mě nějakým záhadným způsobem to nejde, vypíše se to jako: ls pwd/FILES a já bych chtěl ls /home/neco/slozka/FILES Poradíte,prosím?díky
Řešení dotazu:
cesta=pwd
to je blbost ne
pepe@PC-Pepe:~$ cesta=pwd
pepe@PC-Pepe:~$ echo $cesta
pwd
pepe@PC-Pepe:~$
pepe@PC-Pepe:~$ cesta=`pwd`
pepe@PC-Pepe:~$ echo $cesta
/home/pepe
pepe@PC-Pepe:~$
cesta=pwd $cesta /usr/lib
pochopto
$ cesta=pwd
$ $cesta
/home/pepe
$ ls $cesta/.wine
ls: nelze přistoupit k pwd/.wine: Adresář nebo soubor neexistuje
$ cesta=`pwd`
$ ls $cesta/.wine
dosdevices drive_c system.reg userdef.reg user.old user.reg
$
jestli jsem to dobre pochopil tak pokazde asi nejsi v $HOME .... nebo se pletu???
ls -l $HOME/.wine
Mozno by nebolo na skodu venovat o par chvil viac zadaniu, resp. popisu problemu.
Akokolvek, pokial pouzivas bash (zrejme aj ine shell-y to maju implementovane), tak mozes aktualne umiestnenie vypisovat takto:
echo ${PWD}
Avsak, z tvojho popisu mam taky dojem, ze si si precital nespravny alebo nespravne pochopil daky navod na nete. Spomenul si presuvanie kdekolvek, ale si treba uvedomit, ze aplikacia pwd nie je spion, ona len vypise aktualne umiestnenie a to je vsetko.
Kazdopadne, skus si toto:
cd /home/neco/slozka ls ${PWD}/FILES
Dovod, preco to tebe neslo s pouzitim pwd ti uz bol vysvetleny. CESTA=pwd berie ako hodnotu premennej string (text) pwd, zatialco CESTA=$(pwd) berie ako premennu vystup programu pwd. Takze pri nacitani vystupu programu do premennej je spravny zapis nasledovny:
PREMENNA=$(aplikacia)
pwd - aplikacia
PWD - vstavana premenna v bash-i
Vystupy pri oboch su rovnake.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.