45 votes

Comment convertir ".." dans les noms de chemin en nom absolu dans un script bash ?

Comment convertir le .. dans les noms de chemin en noms de chemin absolus dans un script bash. C'est-à-dire que si j'ai un chemin /home/nohsib/dvc/../bop , je veux qu'il soit remplacé par le chemin sans points, dans ce cas /home/nohsib/bop

Comment puis je faire ça?

50voto

Martin Points 13951

Ce que vous recherchez est readlink :

 absolute_path=$(readlink -m /home/nohsib/dvc/../bop)

Remarque : vous devez utiliser l' readlink GNU qui offre l'option "-m". readlink de BSD, par exemple, ne le font pas.

41voto

dimba Points 5389

Essayer:

 ABSOLUTE_PATH=$(cd /home/nohsib/dvc/../bop; pwd)

3voto

Fredrik Pihl Points 20944

Utilisation

 echo Absolute path: $(cd $1; pwd)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X