Me gustaría construir una función corta para hacer lo siguiente. Digamos que muevo el archivo 'file.tex' a mi directorio de documentos:
mv file.tex ~/Documents
Entonces, me gustaría ir cd
a ese directorio:
cd ~/Documents
Me gustaría generalizar esto a cualquier directorio, para poder hacer esto:
mv file.tex ~/Documents
follow
y haga que el follow
comando lea el destino del comando anterior, luego ejecútelo en consecuencia. Para un directorio simple, esto no ahorra mucho tiempo, pero cuando se trabaja con directorios anidados, sería tremendo poder usar
mv file.tex ~/Documents/folder1/subfolder1
follow
Pensé que sería relativamente simple y que podría hacer algo como esto:
follow()
{
place=`history 2 | sed -n '1p;1q' | rev | cut -d ' ' -f1 | rev`
cd $place
}
Pero esto no parece funcionar. Si hago eco $place
, obtengo la cadena deseada (la estoy probando ~/Documents
), pero el último comando devuelve
No such file or directory
El directorio ciertamente existe. Estoy perdido ¿Podrías ayudarme?
cd
alt + .
para sustituir el último token del comando anterior. Repita para ir más atrás en la historia de los tokens finales. (Digo token no arg, porque foo &
toma &
como token final). Puedes usar un argumento numérico (con escape-3 alt +. Por ejemplo).
file.tex
la ubicación original, los enlaces simbólicos son una muy buena alternativa, ya que solo tiene que vincular una vez, y siempre apuntará a la última versión.