Feb
20
2009
2

Reutilización de comandos en bash con history y fc

Cancer of america
Creative Commons License photo credit: mbernet

history

Bash mantiene un registro de todos los comandos que ejecutas en una terminal y los guarda al final de cada sesión en tu fichero personal .bash_history

Con toda seguridad ya has usado este registro al recuperar comandos anteriormente tipeados al apretar la flecha de cursor hacia arriba. Pero hay mucho más.

Para ver estos comandos usa el comando history:

1
history

en tu fichero .bashrc puedes configurar como funciona history

1
2
3
4
5
6
7
8
9
10
11
12
# guardar últimos 3000 comandos
export HISTFILESIZE=3000

# no guardar comandos duplicados en todos los terminales abiertos
export HISTCONTROL=ignoreboth

# alias para listar comandos ingresando parte de este
# ej: hist ssh lista todos las sesiones ssh que has hecho
alias hist='history | grep $1'

# no guardar ciertos comandos
declare -x HISTIGNORE='ls:ll:ps -A'

(more…)

Escrito por NomikOS en: Linux | Tags:
Hoy 6 lectores.
Feb
20
2009
0

Modificación dinámica de un array usando foreach y while

Se me ocurrió escribir esto cuando me encontraba escribiendo el código que aquí muestro y recordé que hacia mucho tiempo que no usaba foreach y while sobre un mismo array.

1
2
3
4
foreach ($array as $key => $value)
{
    // hacer algo con $value
}

Sabemos que foreach es la manera más fácil de iterar sobre un array y que es una construcción específica para ellos. En cambio while es una estructura de control general y que usada junto a la función list() también permite iterar sobre un array.

1
while (list ($key, $value) = each ($array))

Yo empecé usando esta última forma, pero cuando descubrí foreach quedé encantado! Nunca más volvería a usar while-list. Además de lo engorrosa de la construcción no debes olvidar usar reset() antes, si quieres comenzar operando sobre el primer elemento del array.

O sea algo así:

1
2
3
4
5
reset($array);
while (list ($key, $value) = each ($array))
{
    // hacer algo con $value
}

Bueno, tiempo después, ahora no recuerdo que estaba haciendo exactamente, pero me volví a encontrar pensando “vaya, while-list, sí que que son buenos para los arrays, y con el reset, nada mejor”.

Y la razón de todo este tira y encoje se debe a una sencilla propiedad del foreach, y que estoy seguro es bastante desconocida: (more…)

Escrito por NomikOS en: PHP |
Hoy 7 lectores.

Powered by WordPress. Theme: TheBuckmaker. Modifications by NomikOS