Una de las tareas que debemos hacer como programadores es la de facilitar al usuario la configuración de nuestros programas. Haciéndolos más flexibles y adaptables a las necesidades de cada individuo.
Y una forma muy fácil de definir configuración para nuestros programas es en ficheros con formato INI. Este formato se introdujo en los años 90 en versiones de Windows como la 3.1. En aquella época, teníamos en varios archivos con extensión INI la configuración de nuestro sistema Windows y teníamos que modificar los archivos y reiniciar Windows para que los cambios tuvieran efecto.… Leer artículo completo
Leer ficheros de configuración INI desde nuestros scripts en BASH
Píldora Bash: Incluir archivos en nuestro script sin miedo a que nos cambien el directorio de ejecución
Es una buena práctica en cualquier lenguaje de programación, siempre que sea posible, el tener el código dividido en varios archivos. Esas divisiones harán que nuestro código esté mejor organizado en bloques o compartimentos diferenciados. Y, por supuesto, en nuestros shell scripts no vamos a ser menos.
De hecho, es muy común tener varios shell scripts en un directorio y todos ellos compartirán un código común. Y, por supuesto, está muy feo copiar y pegar ese código común en todos los archivos.… Leer artículo completo
Cómo saber si existe una función en Bash, saber qué estamos ejecutando y más
En nuestra historia como programadores, hacemos infinidad de llamadas a funciones propias, de terceros, de biblioteca, a otros programas a un alias, etc Y si queremos que nuestros scripts sean lo más robustos posible, debemos tener claro antes de la ejecución que aquello que llamamos se puede ejecutar o dar opciones si algún comando o función no existe.
Por ejemplo, nuestro script necesita hacer una llamada a wget de este tipo:
wget -O salida http://totaki.com
Pero queremos hacer que sea compatible con otros sistemas, por ejemplo, con cURL, y no podemos cambiar uno por otro, pues con curl sería con o minúscula:
curl -o salida http://totaki.com
Nuestro script podrá ser:
1
2
3
4
5
6
7
8if [ -n "$(which wget)" ]; then
wget -O salida http://totaki.com
elif [ -n "$(which curl)" ]; then
curl -o salida http://totaki.com
else
echo "No puedo descargar el fichero"
exit 1
fiDe modo que probamos la existencia de diferentes programas y utilizamos el que tengamos a disposición.… Leer artículo completo
Instalar múltiples versiones de PHP y extensiones con phpfarm en Ubuntu/Mint/Debian…
Si llevas varios años trabajando con este lenguaje de programación. Tal vez se te ha presentado un pequeño problema: tienes varios desarrollos a lo largo del tiempo y tienes código en una versión de PHP antigua que no es compatible con versiones nuevas. Y, por otro lado, mientras mantienes una versión de producción de otro proyecto (para PHP 5.5 o PHP 5.6), quieres empezar a hacer pruebas para ver cómo se comporta con PHP7, y todo ello sin morir en el intento.… Leer artículo completoConsejos para endurecer un servidor SSH y hacerlo más seguro
Hoy toca hablar de OpenSSH, y es que la semana pasada se descubrió una vulnerabilidad grave que podría comprometer las claves privadas de los usuarios que se conectan a un servidor. Y como son claves privadas, nadie debería conocerlas, sólo nosotros. Así que, hoy es un buen día para compartir algunas medidas que podemos tomar para endurecer nuestros servidores y hacer nuestro SSH más seguro.Actualizado el 22/11/2016 con técnicas avanzadas para detectar y mitigar vulnerabilidades en algoritmos de intercambio de claves, autentificación y cifrado.… Leer artículo completo
31 Atajos de teclado que podemos usar en nuestra terminal o consola
Foto: Thomas (Flickr CC)
¿ Qué podemos hacer en nuestra terminal a un golpe de teclado ? Muchas más cosas de las que nos imaginamos. Hay muchas teclas alternativas, algunas no funcionarán en versiones muy antiguas, otras son teclas algo más fáciles pero en ocasiones algunas terminales remotas no aceptan esos códigos y pueden no funcionar. Las teclas alternativas suelen estar especificadas en /etc/inputrc . También incluyo alguna palabra clave que suele ser el significado de la tecla, o alguna aclaración mnemotécnica para no olvidarnos (o eso pretende).… Leer artículo completo
Control-D para terminar la entrada estándar (EOF stdin)
A veces, con muchos comandos, por ejemplo sort, tail, cat, read, o muchos otros programas que leen datos de un fichero que luego procesan, tenemos la necesidad de utilizarlos con la entrada estándar del sistema, ya sea para hacer una prueba rápida, evitar tener que escribir un fichero o cualquier otra cosa.
Pero podemos estar introduciendo texto para esos comandos de forma indefinida:
$sort
estrella
mar
troglodita
alienígena
carpa
kiosko
gatillo
…¿La forma de dejar de introducir texto?… Leer artículo completo
Últimos comentarios