Je voulais plus que ce dont vous aviez besoin, j'avais besoin de pouvoir également poser des questions sur les fichiers dans un répertoire relatif, par exemple ../../readme.md
et le résultat devrait être quelque chose comme /Users/santi/readme.md
J'ai donc créé un script (exécutable) dans un dossier qui fait partie de l'arborescence de l'entreprise. $PATH
appelé lsf
avec le contenu suivant :
#!/bin/bash
F=${1:?'usage lsf ../../readme.md'}
( cd $(dirname "$F") && echo $(pwd)/$(basename "$F") )
Vous pouvez donc l'utiliser comme ça :
santi@santis-mac:~/p/dir1/dir2$ lsf ../../readme.md
/Users/santi/p/readme.md
Aucun paramètre ne vous avertit
santi@santis-mac:~/p/dir1/dir2$ lsf
/Users/santi/bin/lsf: line 3: 1: usage lsf ../../readme.md
Le faux répertoire vous donne un avertissement (à cause de dirname
)
santi@santis-mac:~/p/dir1/dir2$ lsf ../../fakedir/readme.md
/Users/santi/bin/lsf: line 5: cd: ../../fakedir: No such file or directory
Le faux fichier mais le vrai répertoire ne sont pas signalés (vous pouvez ajouter une validation si vous en avez besoin).
santi@santis-mac:~/p/dir1/dir2$ lsf ../../fakefile.md
/Users/santi/p/fakefile.md