Foros del Web » Administración de Sistemas » Unix / Linux »

[SOLUCIONADO] Alias y paso de valor

Estas en el tema de Alias y paso de valor en el foro de Unix / Linux en Foros del Web. Muy buenas a todos. Quería hacer una consulta. Normalmente utilizo mucho el vim en linux para editar, y como soy precavido siempre hago backup de ...
  #1 (permalink)  
Antiguo 25/06/2014, 03:55
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Busqueda Alias y paso de valor

Muy buenas a todos.

Quería hacer una consulta. Normalmente utilizo mucho el vim en linux para editar, y como soy precavido siempre hago backup de lo que estoy editando. Como es una tarea "tediosa" estar haciendo backups todo el rato me había propuesto hacer un alias, por ejemplo que se llame vimc y que al pasarlo el nombre del fichero, antes de abrirlo haga una copia de seguridad de este en la misma ruta con la fecha del día, así me ahorro el tener que hacerlo a posteriori. La cosa está en que no sé muy bien como hacer que en el bashrc del usuario root se tome esa variable. Es decir, si por ejemplo tengo alias vimc=cp $1 $1_backup; vim $1 pero el $1 no me lo toma como un parámetro por lo que no sé cual utilizar, alguna idea?

Gracias
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #2 (permalink)  
Antiguo 25/06/2014, 04:07
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: Alias y paso de valor

Vale, he encontrado la solución que se ajusta a lo que yo buscaba. La dejo aquí.

En el .bashrc del usuario que se quiera aplicar se pone el siguiente comando:


Código:
function vimc(){
        cp -fp $1 $1_`date +%Y%m%d%H%M%S`
        vim $1
}
export vimc

Se reinicia la sesión del usuario para que se aplique (si se está usando esa sesión, y listo)

Para usarlo basta con poner vimc <nombre-del-fichero>

Saludos
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #3 (permalink)  
Antiguo 26/06/2014, 08:03
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Alias y paso de valor

aunque hayas encontrado una solución que te sirva, a futuro a lo mejor te conviene utilizar un sistema de gestión de versiones como Git o SVN. Recordá también que de forma predeterminada ViM guarda una copia de cada archivo modificado (con nombre terminando en ~)
  #4 (permalink)  
Antiguo 26/06/2014, 09:06
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: Alias y paso de valor

Cita:
Iniciado por AlvaroG Ver Mensaje
aunque hayas encontrado una solución que te sirva, a futuro a lo mejor te conviene utilizar un sistema de gestión de versiones como Git o SVN. Recordá también que de forma predeterminada ViM guarda una copia de cada archivo modificado (con nombre terminando en ~)
Gracias por tu comentario.

Aunque no me parece una mala idea necesito algo rápido y efectivo como es el comando que he puesto ya que lo voy a utilizar en un sin fin de servidores y necesito algo que sea útil sin tener que subir nada ni estar haciendo uso de registros de versiones.

Por otro lado, si mal no recuerdo, vim te crea el temporal pero lo borra cuando guardas el documento, es decir, el temporal se mantiene cuando, por ejemplo, ha tirado un timeout la consola (si estás en remoto) y justo estabas editando un fichero. Corrígeme si me equivoco.

Un saludo
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #5 (permalink)  
Antiguo 26/06/2014, 13:24
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Alias y paso de valor

ViM crea dos archivos en su operación normal.

Suponiendo que estés editando el archivo /etc/fstab, mientras ViM esté abierto vas a tener un archivo de nombre /etc/.fstab.swp, ese es lo que vim llama "fichero de intercambio", o swapfile, y es el que permanece en su lugar si la sesión se pierde.

Al momento de guardar, va a renombrar el archivo original como /etc/fstab~ y guardar tu copia con el nombre original.

La cadena que se agrega al nombre al momento de guardar el backup es configurable también, fijate por acá: http://vim.wikia.com/wiki/Keep_incre...f_edited_files
  #6 (permalink)  
Antiguo 26/06/2014, 14:16
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: Alias y paso de valor

Cita:
Iniciado por AlvaroG Ver Mensaje
ViM crea dos archivos en su operación normal.

Suponiendo que estés editando el archivo /etc/fstab, mientras ViM esté abierto vas a tener un archivo de nombre /etc/.fstab.swp, ese es lo que vim llama "fichero de intercambio", o swapfile, y es el que permanece en su lugar si la sesión se pierde.

Al momento de guardar, va a renombrar el archivo original como /etc/fstab~ y guardar tu copia con el nombre original.

La cadena que se agrega al nombre al momento de guardar el backup es configurable también, fijate por acá: http://vim.wikia.com/wiki/Keep_incre...f_edited_files
A pues mirá, algo nuevo que aprendí jejeje. Lo único que yo necesito hacer un backup antes de abrirlo por eso hago un cp, no por el riesgo de que se corte la conexión o que se caiga la máquina en si, si no por si "meto la pata" haciendo modificaciones que luego no funcionan pues tener el backup. Casi siempre que uso vim para editar algo por detrás hago un cp, la mejor forma de automatizarlo creo que es esa.

Aún así muchas gracias por la información :)

Un saludo
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?

Etiquetas: alias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:24.