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
EnlaceBien,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
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.
ResponderBorrarSi,tienes razón es muy comodo usar VISUAL,yo tengo vim:
BorrarEDITOR=vim
Pero no lo uso mucho,mejor uso $PS2
Saludos y buena recomendación :D
Intenta retroceder una linea en el $PS2 ^-^
BorrarQue es eso de "notificación de que me mencionaron en esta entrada" (>^o^)> me apareció en plus.
Tanto así nos tiene google de "ubicados" <(^-^<)
No no se,como se retrocede en la $PS2 por lineas,creo que no se puede.
BorrarCreo 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