Publi

  • Un plugin de WordPress para hacer demostraciones animadas de comandos de terminal: simterm

    terminales¿Harto de que ponga todas mis andanzas en terminal de Linux de forma muy pobre y sin color? ¿Que casi no se distingue la entrada de datos de la respuesta de los programas? Y eso que intento que quede todo claro, pero en ocasiones no es fácil de conseguir, y con la cantidad de ejemplos que pongo por aquí no es sostenible tener que editarlos todo el rato para que queden bien en HTML.… Leer artículo completo

  • Cómo extraer ruta, nombre de fichero y extensión en Bash de forma nativa para nuestros scripts

    7959831794_e5699df68b_k
    Bash tiene infinidad de opciones, y en los últimos años se ha extendido muchísimo y nos permite hacer cosas muy chulas. Aunque un sistema con tantas opciones como este, es también un poco lioso y difícil de aprender. Por eso en ocasiones viene bien una chuleta para realizar operaciones sencillas que pueden llegar a ser un poco rebuscadas como obtener el nombre de un fichero y su extensión.

    Bash, al ser un intérprete de comandos de consola, una de sus principales funciones es trabajar con archivos y cuando queremos utilizar archivos, tenemos que jugar con sus posibles nombres, para ello, deberíamos poder extraer fácilmente la ruta de un archivo, su nombre y separarlo de la extensión.… Leer artículo completo

  • Descubrimos WP-CLI para hacer maravillas y automatizar tu WordPress al máximo

    photo-1443916568596-df5a58c445e9
    WordPress es el CMS más popular hasta el momento. Solo que orientado al mundo blog o blogosfera, a día de hoy se hacen webs de diversa índole aprovechando sus capacidades de extensión. Aunque a los que llevamos mucho tiempo en la informática, las siglas WP nos recuerdan a WordPerfect1, pero no tiene nada que ver.
    Como sabrán muchos lectores de este blog, normalmente prefiero las soluciones de línea de comandos para muchas tareas frente a otras soluciones gráficas más bonitas e intuitivas, ya que éstas últimas suelen ser más lentas, requieren un proceso constante de interacción por mi parte y es muy difícil automatizarlas.… Leer artículo completo

  • Vicio con el teclado, comandos, manías y coletillas que nos salen sin pensar

    photo-1445605081472-9788fb3bc02f

    Como apasionado de la consola, soy una de esas personas que tarda menos en escribir un comando y pulsar enter que en cargar una interfaz gráfica, click, click, control, clic, arrastrar, soltar, click… y el tiempo es muy valioso.
    Eso sí, cuando empiezas a pegarle al teclado y escribir comandos en la terminal, parece que todo va más lento, una simple coma, o un espacio es capaz de fastidiarlo todo, pero cuando llevas mucho tiempo, lo tienes todo tan automatizado que te sale el alma.… Leer artículo completo

  • Procesar argumentos de entrada en nuestros shell scripts con getopt

    mixer_4

    Hace unos días analizamos cómo tratar los argumentos de entrada desde un shell script en Bash de una manera sencilla. Aunque, cuando la cosa se complica, debemos utilizar herramientas algo más avanzadas. Tal y como hicimos con getopt para C [parte 1, parte 2], vamos a hacer lo mismo en un shell script.

    Aunque aquí tenemos dos posibilidades, que hacen prácticamente lo mismo getopt y getopts.… Leer artículo completo

  • Encontrar la diferencia entre la salida de dos comandos en nuestra terminal

    Spot_the_difference

    Este es un pequeño truco que, en ocasiones me ha salvado un poco de tiempo. Un mini-post que tenía ganas de compartir por aquí y que hoy voy a empezar por el final. Es decir, poniendo el código:

    1
    $ diff <(comando 1) <(comando 2)

    Con esto, ejecutamos el comando 1, luego el comando 2 y se lo pasamos a diff en forma de pipe creada expresamente para la ocasión.… Leer artículo completo

  • Borrar la caché de Magento desde la línea de comandos

    Foto: Steve Jurvetson (Flickr CC)

    Cuando estás haciendo muchos cambios en una instalación de Magento, debes borrar la caché a menudo. Un caso especial es si utilizas scripts periódicos para actualizar listas de precios o stock, en ese caso debes programar también el borrado de cachés.

    Este pequeño script ha sido visto en muchas webs por lo que no me extenderé mucho y mencionaré dos fuentes donde podéis consultarlo (os invito a visitar estas páginas porque amplían la información que veis aquí).… Leer artículo completo

  • Enviar e-mails con adjuntos desde la terminal con sendmail [Bash script]

    En varias ocasiones, he necesitado enviar un e-mail a un compañero de trabajo (o a mí mismo) con información recién extraída de un servidor (por ejemplo un CSV de base de datos o información subida desde la web) y lo que he hecho al final ha sido bajármelo por SSH y una vez en mi ordenador he enviado el archivo donde ha sido necesario. Si eres como yo, que siempre tengo una sesión SSH abierta en mi servidor, ganarás un par de minutos con este script.… Leer artículo completo

  • Bug corregido en stermp y ya puestos lo subo a github

    Como algunos de vosotros me habéis enviado mensajes referentes a stermp (aquella colección de funciones que hice para utilizar algo parecido a conio.h desde Linux), lo he publicado en GitHub.

    Además, he arreglado un pequeño bug que afectaba a algunos ordenadores y sólo algunas veces cuando se recibía información de posición por ejemplo.

    Disponéis del código fuente de los archivos aquí, stermp.tar: 4.7Kb.

    También podéis visitarla como puse antes en GitHub, y también se podrá ver en algún que otro lado.… Leer artículo completo

  • Escribir con colores en la terminal al estilo C++

    Hace mucho, publicaba en esta web stermp, es una versión libre de la biblioteca conio para C. Esa biblioteca muy popular en los 90 escribía en colores por la consola, pero propietaria y sólo para entornos DOS y Windows.

    Aunque cuando utilizamos C++, es normal querer utilizar un método más acorde con lo que estamos haciendo, es decir, utilizar streams.

    Para ello, podemos utilizar el siguiente código:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    class ccolor
    {
     public:
      ccolor(unsigned short c)
        {
          setColor(c);
          background=-1;
        }

      ccolor(unsigned short fc, unsigned short bc)
        {
          setColor(fc);
          background=(bc<BRILLO_MIN)?
    Leer artículo completo