Strona 1 z 1

[+] bashologia - pełna ścieżka do pliku

: 22 maja 2016, 16:23
autor: torrmen
Witam,

mam obecnie problem który mogę rozwiązać pisząc duży kawałek kodu ale może nie potrzebnie. Może ktoś z Was zna lepszy sposób.

Otóż mamy skrypt który ma wypluć pełną ścieżkę do pliku który podajemy w parametrze nr 1

mamy przykładowe 2 pliki :
1) /var/www/site/functions/users.php
2) /home/user/Desktop/folder1/folder2/folder3/file.sh

skrypt mieści się w /var/project/scripts/script.sh

i teraz tak...

Kod: Zaznacz cały

cd /var/project/scripts
$: ./script.sh /var/www/site/functions/users.php 
PATH : /var/www/site/functions/users.php
$: cd ..
$: scripts/script.sh /var/www/site/functions/users.php 
PATH : /var/www/site/functions/users.php
$: scripts/script.sh ../../www/site/functions/users.php 
PATH : /var/www/site/functions/users.php

cd /var/project/scripts
$: ./script.sh /home/user/Desktop/folder1/folder2/folder3/file.sh
PATH :  /home/user/Desktop/folder1/folder2/folder3/file.sh
$: cd ..
$: scripts/script.sh  /home/user/Desktop/folder1/folder2/folder3/file.sh
PATH :  /home/user/Desktop/folder1/folder2/folder3/file.sh
$: scripts/script.sh  ../../../home/user/Desktop/folder1/folder2/folder3/file.sh
PATH :  /home/user/Desktop/folder1/folder2/folder3/file.sh
Chodzi o to aby niezależnie od tego czy ścieżka będzie pośrednia czy bezpośrednia to skrypt wypluł zawsze prawidłową ścieżkę do pliku jako bezpośrednią. Jak wspomniałem - da się to zrobić pisząc ładny kawałek kodu ale może ktoś zna lepszy sposób? Oczywiście locate odpada bo może być kilka plików o danej nazwie a chodzi o jeden konkretny z parametru.

Kojarzycie coś co może pomoże ?

Re: bashologia - pełna ścieżka do pliku

: 22 maja 2016, 18:18
autor: torrmen
Ok - problem można rozwiązać używając pwd i realpath :)

temat do zamknięcia