shell - programacion - scripts bash ejemplos
En un script/comando bash ¿cómo puedo hacer un pitido de PC o reproducir un archivo de sonido? (6)
Tengo algunos scripts de larga ejecución con interrupciones que requieren entrada / interacción para continuar, pero cuando cambio a otra ventana me gustaría recibir una notificación (por sonido) de que una tarea está completa y ahora está esperando la entrada.
Preferiría poder reproducir un clip de audio (* .mp3, * .ogg, etc.) pero no me importaría si la única solución es hacer que el altavoz de la PC emita un pitido.
¿Algunas ideas? Estoy abierto a todas las utilidades de CLI que pueda instalar y que suenen para que pueda ejecutarlas cuando sea necesario.
FYI: Mi sistema está ejecutando WinXP Pro.
ACTUALIZACIÓN: Doh! Mi Windows> Panel de control> Sonidos> Pitido predeterminado: se configuró en (ninguno) . Grrr ...
Problema resuelto.
copy con beep.bat [Enter]
@echo off [Enter]
echo [Ctrl + G] [Enter]
[Ctrl + Z] [Enter]
beep.bat [Enter]
Configurando esta variable de la siguiente manera
PROMPT_COMMAND="echo -en ''/a''"
entonces bash emitirá un pitido cada vez que muestre el aviso. Cuando ya no lo necesites,
unset PROMPT_COMMAND
Esto hará un pitido desde dentro de bash
echo -en "/007"
Para reproducir el sonido del sistema desde la línea de comandos de Windows, puede ejecutar:
rundll32 user32.dll,MessageBeep
Debería funcionar en todas las versiones de Windows.
Prueba esto:
echo ^ G
(^ G se obtiene mediante ctrl + G).
Nota: no puede copiar y pegar este código en un archivo por lotes, no funcionará. Para obtener un carácter ^ G en un archivo, escriba una ventana de cmd:
echo ^ G> beep.txt
(de nuevo, ^ G se obtiene mediante ctrl + G).
Luego tendrá un archivo llamado beep.txt, ábralo con un bloc de notas, habrá un carácter cuadrado. Este es nuestro ^ G una vez que se guarda en un archivo.
A continuación, puede copiar y pegar en un archivo por lotes para hacer un sonido (no olvide poner "eco" delante de él).
spd-say
sleep 2; spd-say ''get back to work''
Bucle infinito con -w
si necesita motivación adicional:
sleep 2; while true; do spd-say -w ''get back to work''; done
Preinstalado el 14.04 a través del paquete speech-dispatcher
: http://releases.ubuntu.com/trusty/ubuntu-14.04.4-desktop-amd64.manifest para personas ciegas, supongo.
También agregue una ventana emergente
Este combo es un salvavidas:
b() ( spd-say ''done''; zenity --info --text "$(date);$(pwd)" & )
y entonces:
super-slow-command;b
Si estoy en algún lugar de la habitación, lo escucharé y sabré que el largo trabajo ya está hecho.
De lo contrario, veré la ventana emergente cuando regrese a mi computadora.
Relacionado: ¿Cómo mostrar un cuadro de mensaje GUI desde un script bash en Linux?