relatív útvonal, jogok

Első kérdésem, hogy hogy tudom egy fájlnak kinyerni az akt könyvtártól szamított relatív útvonalát

Második: honnan tudom meg, hogy egy paraméterben megadott felhasználó egy a PATH-ban levő fájlt futtathat akár tulajdonosjogán, akár a csoportjogán, akár mindenkimás jogán.

Bash-ben!

Hozzászólások

1
"Első kérdésem, hogy hogy tudom egy fájlnak kinyerni az akt könyvtártól szamított relatív útvonalát" - Miért kell neked mindenképpen az adott könyvtárhoz képesti relatív útvonal?

Szerk: a második nem megy. bocsi :(

----
Ha szeretted a DOS-os játékokat, ezt imádni fogod. livedosgames.com

1.


#! /bin/bash

CWD=$(pwd)
if cd "$(dirname $1)" 2>/dev/null
then
  DIR=$(pwd)
else
  if [[ $1 =~ ^/ ]]
  then
    DIR="$(dirname $1)"
  else
    echo "$1"
    exit 0
  fi
fi
PA1=(${CWD//\// })
TMP="$DIR/$(basename $1)"
PA2=(${TMP//\// })

for (( i=0 ; i < ${#PA1[@]} && i < ${#PA2[@]} ; ++i ))
do
  if [ ${PA1[$i]} != ${PA2[$i]} ]
  then
    break
  fi
done

for (( j=i ; j < ${#PA1[@]} ; ++j ))
do
  echo -n '../'
done

for (( j=i ; j+1 < ${#PA2[@]} ; ++j ))
do
  echo -n "${PA2[$j]}/"
done

echo "${PA2[$j]}"

2.
http://hup.hu/node/68452#comment-736121

3.
Jegybeirasra hova kell menni? (Es indexem honnan lesz hozza?!) :-P