En mi Finder Windows tengo muchos alias que se dirigen a otras carpetas o documentos. En el intérprete de comandos de la Terminal, estos alias aparecen como archivos normales. ¿Cómo puedo obtener el objetivo de un alias para, por ejemplo, poder "cd" a él o realizar otras operaciones de línea de comandos en el objetivo del alias?
Respuestas
¿Demasiados anuncios?Para permitir la grabación en un Folder Alias
He encontrado lo siguiente en Consejos para Mac OS X . No sé si todavía funciona.
Aquí está la función bash que incluyo en el .bashrc. Obsérvese que el segundo elif requiere dobles paréntesis para la prueba, porque incluye el operador lógico o (||):
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
}
Y aquí está el Código fuente C para getTrueName.
Un enfoque similar está disponible en superusuario.com
Tal vez me equivoque, pero ... Otro enfoque sería simplemente reemplazar los alias de mac por enlaces regulares de unix a través de "ln -s ..". Tiene muchas ventajas ya que Finder muestra los enlaces como alias pero muchas aplicaciones trabajan como si los enlaces fueran su objetivo. Los alias de Mac no siempre son vistos por las aplicaciones como su objetivo así que esa es también una buena razón para preferir los enlaces regulares... especialmente si estás acostumbrado a los comandos de terminal y quieres algo realmente fiable a nivel de sistema.
Sólo es una sugerencia y, como ya se ha dicho, puede que esté lejos de sus necesidades.
Espero que pueda ayudar de todos modos. :D