Ejercicios sobre redirecciones ============================== #. Sin usar un editor de textos, escriba en el archivo :file:`/tmp/burguillos.txt` el siguiente verso: .. code-block:: none Rico en inverno y pobre en el estío, #. Ídem, pero mostrando por pantalla y, a la vez, guardando en el mencionado archivo. #. Añada con una sola orden los dos siguientes versos al anterior archivo: .. code-block:: none parezco en mi fortuna el Manzanares, que con agua o sin ella, siempre es río. #. Dentro del código de un *script* necesitamos saber si un módulo del kernel está cargado, y mirando documentación hemos visto que:: # modprobe -n --first-time nombre_modulo [.. información o mensaje de error que no nos interesa ..] # echo $? # El resultado (0/1) está disponible en $? hace lo que deseamos, ya que la orden funciona (devuelve **0**) si el módulo no está cargado y falla (devuelve **1**) si ya está cargado o no existe. Para nuestro *script* sólo tiene interés el resultado y no el mensaje de información (salida estándar) o el de error (salida de errores), así que deseamos escribir la orden de modo que no se vea ningún mensaje. ¿Qué debemos añadir a la orden para que así sea? #. Liste paginado el contenido del directorio :file:`/usr/bin`. #. ¿Cuántos usuarios locales tiene definidos mi sistema? ¿Cuántos usuarios en total? No los cuente a mano, que el sistema lo haga por usted. .. note:: Por si aún no sabe consultar usuarios, el archivo :file:`/etc/passwd` contiene la lista de usuarios locales, mientras que la lista de usuarios totales se puede obtener con:: $ getent passwd #. Pase a maýusculas la lista de usuarios locales. #. Observe lo siguiente:: $ tar sjsjsjss tar: Debe especificar una de las opciones `-Acdtrux', '--delete' o '--test-label' Pruebe 'tar --help' o 'tar --usage' para más información.` Ingénieselas para ver el mensaje de error en mayúsculas. #. Convierta el archivo :file:`/tmp/salida.txt` en la salida estándar, ejecute algunas órdenes que impriman algo y vuelve a hacer la pantalla la salida estándar. Finalmente, compruebe que la salida de las órdenes se guardó en el archivo. #. Defina con una sola orden las variables *a*, *b* y *c* con valores 1, 2 y 3, respectivamente. .. note:: ¿Se acuerda de :ref:`read ` y que es capaz de almacenar en variables lo que se le proporciona por la entrada estándar?