J'ai un script:
#!/bin/bash
echo "$(dirname $(readlink -e $1))/$(basename $1)"
qui se trouve ici: /home/myuser/bin/abspath.sh
qui a des autorisations d'exécution.
Si je cours, echo $PATH
j'obtiens ce qui suit:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/myuser/bin
Je souhaite pouvoir, depuis n'importe quel répertoire, appeler abspath <some_path_here>
et appeler mon script. J'utilise bash, qu'est-ce que je fais mal?
cd $HOME/bin ; ln -s abspath.sh abspath
. Cela vous permet de conserver l'extension correcte pour le script et d'avoir un outil nommé comme vous le souhaitez. (Vous pourriez dans un futur proche, remplacer votre script shell par un script python, par exemple ...)