Je voulais plus que ce dont vous aviez besoin, j'avais besoin de pouvoir aussi poser des questions sur les fichiers dans un répertoire relatif, comme ../../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 répertoire qui fait partie de $PATH
appelé lsf
avec le contenu suivant :
#!/bin/bash
F=${1:?'usage lsf ../../readme.md'}
( cd $(dirname "$F") && echo $(pwd)/$(basename "$F") )
Donc vous pouvez l'utiliser comme ceci :
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
Faux répertoire vous avertit (à 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
Faux fichier mais le vrai répertoire ne vous avertit pas (vous pouvez ajouter une validation si vous le souhaitez)
santi@santis-mac:~/p/dir1/dir2$ lsf ../../fakefile.md
/Users/santi/p/fakefile.md