2012-01-23 30 views
5

Estoy codificando un pequeño script para guardar algunos datos de Internet todos los días. Así que estoy usando xdotool para simular toda mi navegación hasta el punto en que tengo la ventana de guardar de firefox delante de mí, quiero decir, delante de mi script. OK, todo bien hasta aquí ... Pero, cuando trato de usar el día de la semana (o cualquier dato en la variable i) como parte del nombre de archivo que se guardará ........... hmmm -> "no pasa nada". = (¿Cómo teclado escribir una variable con xdotool?

Bueno, supongo que tengo un problema simple aquí, he probado formas muy útiles de usar el contenido de la variable que obtuve con la función de fecha, o simple pipe directamente, pero xdotool se niega a escribir esta información en el El cuadro de nombre de archivo en la ventana de guardar archivo, que está obvio seleccionado y el texto resaltado.

¡Alguna luz en el camino, Maestros! ¡Soy un novato terrible! ¡Lo siento! =) Así que este es el código que probé, (problema en la última línea):

#!/bin/bash 

i=|date +%A 
echo $i 

WID=`xdotool search --name "Mozilla Firefox" | head -1` 
xdotool windowactivate $WID 
xdotool key ctrl+l 
xdotool type "http://whatever.com.au" 
xdotool key Return 
sleep 2 
xdotool key ctrl+s 
sleep 2 

xdotool type WeekDayIs$i 

supongo que me falta algo realmente Obvius, tal vez algo de encasillamiento ....

Soy realmente un principiante, así que no me culpes tanto. Intenté con "$i" y {"$i"} y '$' también ... nada funciona ... =/Gracias a todos.

pd: Y, si algún tipo agradable quiere señalarme una forma directa de guardar directamente un poco de contenido web en un archivo, tal vez camine de rodillas hacia él ... ;-) EDIT: Obtuve la respuesta a esta pregunta también here

EDITAR POS-SOLUCIÓN:

sí Shellter, este código imprime los martes y YesTuesday y no 3 veces más el martes. jeje, un día tras otro. Gracias por tu atención.

#!/bin/bash 
i=|date +%A 
echo $i 
echo $i 
echo $i 

i=$(date +%A) 

echo Yes$i 
+0

oh, la salida de echo $ i es "lunes". solo para verificar –

+0

Gracias Shellter, acabas de salvar mi día. =) Respuesta correcta marcada. –

Respuesta

7

no sé nada acerca de xdotool, pero hay una cuestión es obvio, esta correcta y luego editar el post si no se resuelve, e incluyen un texto específico de mensajes de error.

cambio

i=|date +%A 

a

i=$(date +%A) 

A continuación, cuando se ejecuta su última línea

xdotool type WeekDayIs$i 

$ i tendrá un valor.

Espero que esto ayude.

P.S. Bienvenido a StackOverflow (SO) Recuerde leer el FAQs, vote por la buena Q/A usando los triángulos grises, http://i.imgur.com/kygEP.png, y acepte la respuesta que solucione su problema, si corresponde, presionando el signo de la marca de verificación, http://i.imgur.com/uqJeW.png

+0

SÍ, SÍ, SÍ! ¡Gran ayuda, marmota! No puedo renunciar a su respuesta porque todavía soy muy nuevo en S.O. , pero esto literalmente resolvió mi problema. Lo único que no entendí aún, es: ¿cómo 'echo $ i' me dio 'Monday' pero solo con su sintaxis tengo este valor también con xdotool? –

+0

Quizás esté contento de saber ** xdotool **, es una biblioteca/comando muy potente (?) Para simular movimientos de tecla y mouse, clics y más. Eche un vistazo a la [página del proyecto] (http://www.semicomplete.com/projects/xdotool/). Quizás esto paga un poco por tu ayuda. Gracias de nuevo. –

+0

Hola @ H_7, me alegro de que hayas ayudado y gracias por la rápida introducción a xdotool. Voy a leer sobre él, ya que parece que será realmente útil. Avíseme si puedo ayudar de nuevo. ¡Buena suerte! – shellter

Cuestiones relacionadas