Dans mon Finder Windows, j'ai de nombreux alias qui ciblent d'autres dossiers ou documents. À l'invite du shell dans Terminal, ces alias apparaissent comme des fichiers normaux. Comment puis-je obtenir la cible d'un alias afin, par exemple, de pouvoir y accéder par "cd" ou d'effectuer d'autres opérations en ligne de commande sur la cible de l'alias ?
Réponses
Trop de publicités?Pour permettre le cd'ing dans un Folder Alias
J'ai trouvé ce qui suit à l'adresse suivante Conseils pour Mac OS X . Je ne sais pas s'il fonctionne encore.
Voici la fonction bash que j'inclus dans .bashrc. Notez que le second elif nécessite des doubles crochets pour le test, car il inclut l'opérateur logique or (||) :
function cd {
if [ ${#1} == 0 ]; then
builtin cd
elif [ -d "${1}" ]; then
builtin cd "${1}"
elif [[ -f "${1}" || -L "${1}" ]]; then
path=$(getTrueName "$1")
builtin cd "$path"
else
builtin cd "${1}"
fi
}
Et voici le Code source C pour getTrueName.
Une approche similaire est disponible à l'adresse suivante superuser.com
Je suis peut-être à côté de la plaque, mais... Une autre approche consisterait simplement à remplacer les alias mac par des liens unix normaux via "ln -s ..". Cela présente de nombreux avantages car le Finder affiche les liens comme des alias, mais de nombreuses applications fonctionnent comme si les liens étaient leur cible. Les alias Mac ne sont pas toujours considérés par les applications comme leur cible, c'est donc une bonne raison de préférer les liens normaux... surtout si vous êtes habitué aux commandes de terminal et que vous voulez quelque chose de vraiment fiable au niveau du système.
Ce n'est qu'une suggestion et, comme je l'ai déjà dit, je suis peut-être loin de vos besoins.
J'espère que cela pourra vous aider :D