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.pgp
Description: PGP signature
|