2012-11-04 12 views
6

Tôi có một tập lệnh đọc một số url và đưa chúng vào trục để tải xuống. Tôi muốn dừng kịch bản đôi khi và tiếp tục lại. Axel có thể tiếp tục tải xuống tệp. Vì vậy, nếu tôi nhấn Ctrl + C khi tải xuống, lần tiếp theo, nó bắt đầu từ sơ yếu lý lịch của tệp.Không tải xuống tệp hiện có với axel

nhưng trục không kiểm tra xem tệp có tồn tại hay không. Vì vậy, nó gắn thêm ".0" vào cuối tên tệp và bắt đầu viết mã xuống hai lần. Làm thế nào tôi có thể nói với axel nếu tập tin có cùng tên tồn tại, bỏ qua đó và không tải nó?

+0

trục sử dụng [FILE_NAME]. Bên cạnh tệp tải xuống chính có trạng thái tệp được tải xuống, nếu bạn tiếp tục, nó tìm thấy tệp trạng thái và tìm nạp các byte tiếp theo –

Trả lời

7

Nếu bạn muốn Axel để tiếp tục, Bạn nên sử dụng

axel -o NAME_OF_EXISTING_FILE 

Nếu bạn muốn kiểm tra nếu tập tin tồn tại

if [ -f $FILE ]; 
then 
    echo "File $FILE exists." #operation related to when file exists 
else 
    echo "File $FILE does not exist." #operation related to when file does not exists 
fi 

Hoặc

if [ ! -f /tmp/foo.txt ]; 
then 
    echo "File not found!" #operation related to when file does not exists 
fi 

Bash script từ here

2

Axel sử dụng một tệp trạng thái, được đặt tên với đuôi .st.
Nó được cập nhật thường xuyên trong khi tải xuống.
Khi trục được bắt đầu, đầu tiên nó sẽ kiểm tra < tệp> và < tệp.st>. Nếu được tìm thấy, quá trình tải xuống sẽ được tiếp tục khi nó dừng lại.
Bạn có phiên bản nào? Tôi đã nhận Axel phiên bản 2.4 (Linux) và nó tiếp tục một cách chính xác sau khi một CTRL + C.