উইজেটের সাথে "স্কিম অনুপস্থিত" ত্রুটি পাওয়া


14

আমি একটি ছোট স্ক্রিপ্ট লিখেছি যা ডেস্কটপপ্রিপি এপিআই থেকে একটি এলোমেলো ওয়ালপেপার ধরে এবং আমার ডেস্কটপ ওয়ালপেপারটিকে এতে পরিবর্তন করে:

#!/bin/bash
url=$(curl 'https://api.desktoppr.co/1/wallpapers?page='$(shuf -i 1-1000 -n 1) | jq ".response[].image.url" | sed $(shuf -i 1-20 -n 1)'!d') &&
wget "$url"

আমি যখন স্ক্রিপ্টটি চালিত করি তখন চূড়ান্ত wgetআদেশটি ত্রুটি সহ ব্যর্থ হয়:

"http://a.desktopprassets.com/wallpapers/...jpg": Scheme missing.

আমি যখন সরাসরি উইজেট কমান্ডে ইউআরএল রাখি যেমন:

wget "http://a.desktopprassets.com/wallpapers/...jpg"

... কমান্ডটি সঠিকভাবে কার্যকর করে এবং চিত্রটি ডাউনলোড করে, এর অর্থ হ'ল ভেরিয়েবলের কিছু সমস্যার কারণে ত্রুটি ঘটে।

আমি মনে করি jqডেস্কটপ্রির এপিআই থেকে জেএসএন প্রতিক্রিয়াটি পার্স করার জন্য আমি যে লাইব্রেরিটি ব্যবহার করছি তার সাথে এর কিছু থাকতে পারে ।

উত্তর:


22

ইউআরএল-এর চারপাশে আপনার দ্বিগুণ উদ্ধৃতিগুলি সরিয়ে ফেলতে হবে, উদাহরণস্বরূপ -rবিকল্পটি ব্যবহার করে jq:

url=$(curl 'https://api.desktoppr.co/1/wallpapers?page='$(shuf -i 1-1000 -n 1) | jq -r ".response[].image.url" | sed $(shuf -i 1-20 -n 1)'!d')

কমান্ডটি আসলে ফলাফল দেয়

wget "\"http://a.desktopprassets.com/wallpapers/...jpg\""

সাবাস। এই সমস্যাটি আমাকে কীবোর্ডকে গালিগালাজ করে। ধন্যবাদ!
হুসেন খলিল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.