2012-01-23 70 views
5

Tôi đang mã hóa một tập lệnh nhỏ để lưu một số dữ liệu từ Internet mỗi ngày. Vì vậy, tôi đang sử dụng xdotool để mô phỏng tất cả điều hướng của tôi cho đến thời điểm tôi có cửa sổ lưu firefox trước mặt tôi, ý tôi là, ở phía trước tập lệnh của tôi. OK, cho đến lúc này ... Nhưng, khi tôi cố gắng sử dụng ngày trong tuần (hoặc bất kỳ dữ liệu nào trong biến số i) như một phần của tên tệp sẽ được lưu ........... hmmm -> "không có gì xảy ra". Vâng, tôi đoán tôi có một số vấn đề đơn giản ở đây, tôi đã cố gắng rất nhiều cách để sử dụng nội dung của biến tôi nhận được với hàm ngày tháng, hoặc đường ống đơn giản trực tiếp, nhưng xdotool từ chối nhập thông tin này vào hộp tên tệp trong cửa sổ lưu tệp, được chọn là văn bản được chọn và văn bản được đánh dấu.Làm thế nào để gõ bàn phím một biến bằng cách sử dụng xdotool?

Một số ánh sáng trong đường dẫn, các bậc thầy! Tôi là một điều tồi tệ! Xin lỗi! =) Vì vậy, đây là mã tôi đã thử, (sự cố trong dòng cuối cùng):

#!/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 

tôi đoán tôi đang thiếu một cái gì đó thực sự obvius, có thể một số typecasting ....

Tôi thực sự là một kẻ ăn xin, vì vậy đừng trách tôi rất nhiều. Tôi đã thử với "$i"{"$i"}'$' quá .. không có gì hoạt động ... =/Cảm ơn mọi người.

ps: VÀ, nếu một số anh chàng đẹp muốn chỉ cho tôi một cách thẳng để lưu trực tiếp một số nội dung web vào một tệp, có thể tôi đi bộ trên đầu gối của tôi để anh ta .. ;-) EDIT: Tôi đã nhận được câu trả lời cho câu hỏi này quá here

EDIT POS-SOLUTION:

có Shellter, mã này in ra thứ Ba và YesTuesday và không thêm 3 lần thứ ba. hehe, một ngày khác. Cảm ơn đã quan tâm.

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

i=$(date +%A) 

echo Yes$i 
+0

oh, đầu ra của echo $ i là "Thứ Hai". chỉ để kiểm tra. –

+0

Cảm ơn Shellter, bạn vừa lưu lại ngày của tôi. =) Kiểm tra câu trả lời đúng. –

Trả lời

7

Tôi không biết gì về xdotool, nhưng có một vấn đề là rõ ràng, chính xác này và sau đó chỉnh sửa bài viết của bạn nếu nó không được giải quyết, và bao gồm văn bản cụ thể của thông báo lỗi.

thay đổi

i=|date +%A 

để

i=$(date +%A) 

Sau đó, khi bạn thực hiện dòng cuối cùng của bạn

xdotool type WeekDayIs$i 

$ i sẽ có một giá trị.

Tôi hy vọng điều này sẽ hữu ích.

P.S. Chào mừng bạn đến với StackOverflow (SO) Vui lòng gửi lại để đọc số FAQs, bỏ phiếu cho Q/A tốt bằng cách sử dụng hình tam giác màu xám, http://i.imgur.com/kygEP.png và chấp nhận câu trả lời giải quyết vấn đề của bạn, nếu có, bằng cách nhấn vào dấu kiểm, http://i.imgur.com/uqJeW.png

+0

CÓ, CÓ, CÓ! Trợ giúp tuyệt vời! Tôi không thể upvote câu trả lời của bạn vì tôi quá mới nhưng trên S.O. , nhưng điều này đã giải quyết được vấn đề của tôi. Chỉ có điều tôi đã không hiểu được, là: làm thế nào 'echo $ i' đã cho tôi "thứ hai" nhưng chỉ với cú pháp của bạn tôi có giá trị này quá với xdotool? –

+0

Có thể bạn vui mừng khi biết ** xdotool **, một thư viện/lệnh rất mạnh mẽ (?) Để mô phỏng các chuyển động và chuột, phím và nhiều thứ khác. Hãy xem [trang dự án] (http://www.semicomplete.com/projects/xdotool/). Có lẽ điều này trả một chút cho sự giúp đỡ của bạn. Cảm ơn một lần nữa. –

+0

Hi @ H_7, vui mừng khi biết điều đó đã giúp ích và cảm ơn bạn đã giới thiệu nhanh về xdotool. Tôi sẽ đọc về nó, vì nó có vẻ như nó sẽ thực sự hữu ích. Hãy cho tôi biết nếu tôi có thể giúp lại. Chúc may mắn! – shellter

Các vấn đề liên quan