miércoles, 2 de enero de 2013

Tutorial el uso de $PS2 Unix

He titulado así esta entrada ya que si hablo de Linux,lo relaciona google mucho con la consola de videojuegos,pero abosolutamente nada que ver, así que lo hablaremos como si solamente de Unix se tratara no solo GNU/Linux :)

Para los usuarios medios/avanzados del mundo de Linux conocen el $PS1 que es la interfaz de nuestra shell de trabajo,por así decirlo,pueden ver un tutorial que realice de customizacion de este:

Enlace

En el caso del $PS2 se accede a,digamos multilinea,ya que no limita el uso de una sola,este $PS al igual que el 1 se puede customizar,por ejemplo lo pueden ver haciendo:

echo $PS2

Que lo mas probable esta sea la salida

>

En mi caso es esta

-{

Por un pipe que use gracias a +Daniela Ibañez


echo 'PS2="-{ "' >> ~/.bashrc && source ~/.bashrc
En ese mismo post hable sobre los flujos estándares de Unix,los cuales hacen mención al $PS2

Enlace
Bien,como entrar el $PS2 ?

En Tiempo de Tux solo hemos visto la re dirección :

cat << EOF >> archivo.txt


Bien,de esta manera enviamos lo que escribamos en la multilinea a un archivo de texto, y dejamos de escribir usando la palabra que este en

<< aquí >>

Comúnmente EOF,como en Perl

Pero puede ser SALIR,etc por ejemplo ese de arriba es Arch y este de abajo es Sabayon:


 Pero esa no es la única forma de entrar/usar al $PS2,ya que en el scripting shell existe la multilinea la cual podemos llamar con hacer uso de este símbolo

\

Por ejemplo:


zenity --entry  \
  --title="Ventana Gtk" \
  --text="Una prueba de $PS2"

Y como he dicho,todo lo que se puede usar en scripting shell se puede usar directamente en la consola:

Es recomendable,identar lo que vamos a escribir,ya que son los espacios que vamos a usar,(dejar espacios ya usando el $PS2 como se ve arriba)

Para usar este tipo de llamada de $PS2 solo usamos \ para señalar nuevas lineas y cuando terminemos no lo usamos y damos enter

Tampoco es la única otra forma de llamar el $PS2

Podemos hacer el uso de bucles

Por ejemplo escriban esto,linea por linea:

while :; do

echo "una linea"
echo "otra linea"

done

ctrl +c para salir

En el caso de los bucles,no necesitamos usan \,el ciclo de $PS2 se cierra hasta que cerremos el bucle,en este caso con done

Tampoco es la única otra forma de llamar el $PS2,o mejor dicho hay mas formas de entrar al $PS2

Con ()

Para hacer esto solo escribe

(

en la terminal y meten todos los comandos que quieran,por ejemplo actualizar el sistema y instalar vlc con $PS2 en dos lineas:



tux@rivera$ (
-{ sudo pacman -Sy
-{ sudo pacman -S vlc
-{ )

Esto es tonto,porque puedo hacer sudo pacman -Sy vlc


Pero se ve el poder de $PS2


O solamente :

Eso también es tonto,porque puedo hacer:

echo -e "Una linea\nOtra Linea"
Pero vemos a $PS2 en acción

De igual forma con {}

Eso es todo, si conocen mas formas de entrar al $PS2 comenten :D

Si se preguntan cual es el lado opuesto de hacer esto(todo en una sola linea) la respuesta es ;

Como en Perl,que indica nueva linea ;

sudo pacman -Syu; sudo pacman -S vlc

Similar a &&,investiguen las diferencias :D


4 comentarios:

  1. Me ha gustado el tutorial. Para mi, la mejor forma que conozco de escribir comandos multilinea desde el shell es pulsando Ctrl-X Ctrl-E. Eso te abre el editor que tengas configurado en la variable VISUAL y te deja escribir el comando con toda libertad moviéndote por todas la lineas. Más cómodo imposible. :) Luego cuando sales del editor lo ejecuta.

    ResponderBorrar
    Respuestas
    1. Si,tienes razón es muy comodo usar VISUAL,yo tengo vim:

      EDITOR=vim

      Pero no lo uso mucho,mejor uso $PS2

      Saludos y buena recomendación :D

      Borrar
    2. Intenta retroceder una linea en el $PS2 ^-^

      Que es eso de "notificación de que me mencionaron en esta entrada" (>^o^)> me apareció en plus.

      Tanto así nos tiene google de "ubicados" <(^-^<)

      Borrar
    3. No no se,como se retrocede en la $PS2 por lineas,creo que no se puede.

      Creo que es una nueva funcionalidad de blogger,solo puse tu nombre y salio una ventana, y luego automáticamente añadió un + y el url de tu perfil,pero no sabia que te notificaba :\

      Y yo que iba a hablar mal de ti XDDD

      Borrar

Los comentarios serán revisados antes de ser publicados.