Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: LorD_OniX 19 Dubna 2009, 15:52:59

Název: Bash cd
Přispěvatel: LorD_OniX 19 Dubna 2009, 15:52:59
Ahoj, potreboval bych pomoct s jednim skriptem a nevim nahodou jestli to neni nemozne. Chci si udelat skript v bashi na skakani do adresaru v konzoli, abych nemusel furt vypisovat zname cesty. Jenze Bash z principu nepovoluje ovlivneni rodice ditetem, proto pri zadani cd ve skriptu v bashi se tam skoci, ale po ukonceni skriptu se zustava v akt. adresari. Vite nekdo jak to udelat v tom skriptu, aby se tam skoncilo a zmenilo se to v konzoli ? Diky moc
Název: Re: Bash cd
Přispěvatel: Yontalcar 19 Dubna 2009, 18:08:47
Nebude jednodušší vytvořit si na ty "známé cesty" symlinky?
Název: Re: Bash cd
Přispěvatel: premet 19 Dubna 2009, 18:14:28
Nebo si vytvořit alias do .bashrc
cesta=/home/uzivatel/bla/foo/bla/foo

Kód: [Vybrat]
cd $cesta
Název: Re: Bash cd
Přispěvatel: Yontalcar 19 Dubna 2009, 19:39:34
Další možností by mohlo být zapsání funkce do ~/.bashrc; funkci se dají dát i parametry
Kód: [Vybrat]
Something() {
cd /usr/src/
echo "$1"
}
Kód: [Vybrat]
test@khazaddum:~$ Something blablabla
blablabla
test@khazaddum:/usr/src$
Název: Re: Bash cd
Přispěvatel: LorD_OniX 20 Dubna 2009, 11:16:55
Diky moc, nejlepsi se me zda ta funkce do bashrc. Jeste jednou diky.
Název: Re: Bash cd
Přispěvatel: nettezzaumana 20 Dubna 2009, 13:16:18
ja si treba delal (drive) adresar /links, kam jsem symlinkoval co jsem potreboval ..

doted pouzivam stejnej princip i napriklad pro nfs, sambu, ftp aj do adresare srv, pres kterej mam v sambe (smb.conf) pro poradek nastaveny sdileni ..

# ls -lAh /srv/samba/
total 0
lrwxrwxrwx 1 root users 26 2009-02-24 13:40 franta_zaloha -> /mnt/usb_disk/tmp/ACERDATA
lrwxrwxrwx 1 root root  22 2009-03-30 14:41 iso -> /mnt/usb_disk/+IMAGES/
lrwxrwxrwx 1 root root  18 2009-03-30 14:42 PSRL -> /mnt/usb_disk/PSRL
lrwxrwxrwx 1 root root  13 2009-01-06 12:46 Sun -> /mnt/data/Sun
lrwxrwxrwx 1 root root  16 2009-01-06 12:46 tmp -> /home/dpecka/tmp
lrwxrwxrwx 1 root root  18 2009-02-24 20:28 tmp2 -> /mnt/usb_disk/tmp/
Název: Re: Bash cd
Přispěvatel: kkaarreell 21 Dubna 2009, 14:27:44
jeste prihodim promennou CDPATH, ktera urci, kde se budou hledat adresare, do kterych chcete vlezt (implicitne je prazdna).
pouziti vypada napr. takto:
Kód: [Vybrat]
$ pwd
/home/karel
$ CDPATH=":/:/home"
$ echo $CDPATH
:/:/home
$ cd tmp
/tmp
$ pwd
/tmp
$ cd karel
/home/karel
$ pwd
/home/karel
$
proc mam jako prvni adresar "nic"? a je to tak dobre? ;-)
Název: Re: Bash cd
Přispěvatel: Yontalcar 21 Dubna 2009, 16:33:18
proc mam jako prvni adresar "nic"? a je to tak dobre? ;-)
'' == '.'  ? :-)

btw. osobně preferuji symlinky bo jsou použitelné i v grafických aplikacích
Název: Re: Bash cd
Přispěvatel: nettezzaumana 21 Dubna 2009, 18:56:57
jeste prihodim promennou CDPATH ..

khaaarliik++ ;)
Název: Re: Bash cd
Přispěvatel: On 23 Dubna 2009, 06:34:46
kkaarreell: No ale tak to je velká paráda :) samozřejmě +
Název: Re: Bash cd
Přispěvatel: Yontalcar 23 Dubna 2009, 07:10:37
tak přemýšlím že dát si do CDPATH ten adresář se symlinkama by nemuselo být špatný :-)