সাইগউইন বাশ-সি কল করার সময় আর্গুমেন্টগুলি কীভাবে সঠিকভাবে পালানো যায়?


0

আমি ফোন করার চেষ্টা করছি scanimage কমান্ড (থেকে SANE টুল) ভিতর থেকে cygwin যদিও আমি মনে করি যে আমার সমস্যা সাধারণ তাই হয়তো আমি কি বুঝছেন কোন ব্যাপার না পলায়নের অন্যতম। যাই হোক ...

মলমের ফ্লাইটি হ'ল আমাকে উইন্ডোজ কমান্ড প্রম্পট (সুতরাং bash.exe কল করা) থেকে কমান্ড কল করতে হবে এবং কীভাবে আর্গুমেন্টগুলি সঠিকভাবে পাস করতে পারি তা আমি কাজ করতে পারি না। এখানে একটি উদাহরণ:

যদি আমি সাইগউইন টার্মিনাল চালিত করি তবে আমি এই আদেশটি চালাতে পারি এবং এটি দুর্দান্তভাবে কাজ করে:

 scanimage -d 'epson2:libusb:bus-0:\\.\libusb0-0001--0x04b8-0x012c' -y 20 --format tiff > out.tiff

দুর্দান্ত, তবে আমি যখন একটি নিয়মিত কমান্ড প্রম্পট আনব এবং এটিতে (মূল কমান্ড কিন্তু -c বিটের অভ্যন্তরে) রেখে দেব:

"c:\cygwin\bin\bash.exe" --login -c "scanimage -d 'epson2:libusb:bus-0:\\.\libusb0-0001--0x04b8-0x012c' -y 20 --format tiff > out.tiff"

আমি এই ত্রুটি ফিরে পেয়েছি:

স্ক্যানিমেজ: ডিভাইস খোলা epson2: libusb: বাস-0:। b libusb0-0001--0x04b8-0x012c ব্যর্থ: অবৈধ যুক্তি

এটি আমার কাছে সত্যই অদ্ভুত বলে মনে হচ্ছে, যেহেতু এটি ত্রুটির মধ্যে যুক্তির বর্ণনা দিচ্ছে দেখে মনে হচ্ছে এটি সঠিক মূল্য পেয়েছে (এটি যদি এটি সঠিকভাবে পাস না করে থাকে তবে আমি এটি 'বা কিছু হতে পারে বলে আশা করি তবে এটি কেবল আমারই )।

ঘটনাক্রমে, আমি যদি -d যুক্তিটি খাঁজতে পারি এবং এটি করি

"c:\cygwin\bin\bash.exe" --login -c "scanimage -y 20 --format tiff > out.tiff"

সব কিছু ভাল - অবশ্যই আমি যদি অন্য স্ক্যানারটি সংযুক্ত করি তবে আমার এটির 50/50 টির সম্ভাবনা রয়েছে যা ভুলটির উপর স্ক্যান করা যায়, সুতরাং যুক্তি বাদ দেওয়া সত্যিই কোনও বিকল্প নয়।

এটি করার একটি উপায় নিয়ে আমি ভেবেছিলাম: কমান্ডটি দিয়ে একটি bsh ফাইল তৈরি করুন এবং তারপরে কেবল সেই ফাইলটি bash.exe ("c: \ cygwin \ bin \ bash.exe" থেকে চালু করুন - যেখানে স্কিন.বিশ পূর্বোক্ত নির্দেশটি অন্তর্ভুক্ত রয়েছে) তবে এটি মনে হচ্ছে, বেশ খানিকটা অদ্ভুত।

সুতরাং আমার প্রশ্নটি, সুতরাং, আমি কীভাবে bash.exe এর জন্য কমান্ড লাইনটি তৈরি করতে পারি, এই ক্ষেত্রে, ডিভাইস যুক্তিটি সঠিকভাবে পাস হয়ে যায় এবং স্ক্যানারটি আমার স্টাফগুলি স্ক্যান করে?

উত্তর:


2

\অতিরিক্ত হিসাবে আপনি যে কমান্ডটি দিয়ে যাচ্ছেন তার প্রত্যেকটি আপনাকে পালাতে হবে \

"c:\cygwin\bin\bash.exe" --login -c "scanimage -d 'epson2:libusb:bus-0:\\\\.\\libusb0-0001--0x04b8-0x012c' -y 20 --format tiff > out.tiff"

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