| Re: lug-bg: Pulen path na fail?
 
Subject: Re: lug-bg: Pulen path na fail?From: Peter Pentchev <roam@xxxxxxxxxxx>Date: Wed, 21 Jul 2004 18:13:35 +0300 
 On Wed, Jul 21, 2004 at 04:35:44PM +0200, Krasimir Kazakov wrote:
> Здравейте,
> 
> наложи ми се скоро да направя скрипт, на който като подадеш ./file 
> или ../path/to/file или нещо такова, да записва /full/path/to/file 
> в /etc/fstab.
> 
> Проблема ми е, че не можах да намеря коя команда ми връща пълния път към 
> дадения файл. Трябва да има нещо просто и елементарно, но не можах да го 
> намеря дори в Google. Ако някой знае, ще съм благодарен да сподели как точно 
> се прави.
На повечето сравнително нови системи се прави с realpath(1):
[roam@snark ~]> realpath .
/fs/home/roam
[roam@snark ~]> realpath upload/firefox/
/fs/home/roam/upload/firefox
[roam@snark ~]> realpath ../../../etc/passwd
/etc/passwd
[roam@snark ~]>
Ако това не ти върши работа - системата, която използваш, няма realpath -
можеш да направиш магия с /bin/pwd.. нещо от сорта на:
[roam@straylight:p5 ~]$ FNAME='../../../etc/passwd'
[roam@straylight:p5 ~]$ ls $FNAME
../../../etc/passwd
[roam@straylight:p5 ~]$ ls -l $FNAME
-rw-r--r--  1 root  wheel  2316 24 Юни 12:30 ../../../etc/passwd
[roam@straylight:p5 ~]$ FULLNAME="`/bin/pwd`/$FNAME"
[roam@straylight:p5 ~]$ echo $FULLNAME
/fs/home/roam/../../../etc/passwd
[roam@straylight:p5 ~]$ ls -l $FULLNAME
-rw-r--r--  1 root  wheel  2316 24 Юни 12:30 /fs/home/roam/../../../etc/passwd
[roam@straylight:p5 ~]$
Така във $FULLNAME получаваш нещо, което не е точно пълен път, макар
че започва от /, но поне е път, който започва от /, макар че съдържа
на няколко места '..'.
Най-добре виж дали имаш realpath; то ще ти даде наистина истински път.
Поздрави,
Петър
-- 
Peter Pentchev	roam@xxxxxxxxxxx    roam@xxxxxxxx    roam@xxxxxxxxxxx
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
If wishes were fishes, the antecedent of this conditional would be true.
 Attachment:
pgp3szhTUCR1r.pgpDescription: PGP signature
 
 
   |