কিভাবে cygwin run.exe ব্যবহার কমান্ড অপশন পাস করতে


2

আমি আমার ব্যবহারকারীর পরিবেশের সাথে একটি ব্যাশ কমান্ড চালাতে চাই, এবং আমি আমার উইন্ডোজ ডেস্কটপে একটি টার্মিনাল উইন্ডো খুলতে চাই না। আমি চেষ্টা করেছিলাম:

c:\cygwin64\bin\run.exe zsh -lic emacs

এবং এটি আমার ইউজার পরিবেশের সাথে একটি emacs উইন্ডো খোলে। কিন্তু যদি আমি চেষ্টা করি:

c:\cygwin64\bin\run.exe zsh -lic emacs --name fancy-name

এটা মনে হয় --name বিকল্প অকার্যকর।

আমি উদ্ধৃতি যোগ করার চেষ্টা, কিন্তু কাজ না।

আমি অর্জন করতে চান কি ব্যবহার করা হয় --eval আমার কমান্ড প্রসঙ্গ অনুযায়ী আমার Emacs আরম্ভ করতে Emacs বিকল্প।

উত্তর:


1

আমি Emacs আমার সেটআপে তার পতাকাগুলি ব্যাখ্যা করতে পেতে পারি যদি আমি উদ্ধৃতিগুলির দুটি সেটে জিনিসগুলি মোড়ানো করি, এরকম:

C:\cygwin64\bin\run.exe bash -lic '"emacs -q"'

(এই সব একটি cmd উইন্ডো, উপায় দ্বারা। এবং আমি যে অনুমান করছি zsh এবং bash প্রশ্ন প্রাসঙ্গিক কোনো ভাবে ভিন্ন হয়।)

আমি এখানে কি ঘটছে তা মনে হয় run হাত বন্ধ জিনিষ আগে এটি উদ্ধৃতি এক স্তর stripping হয় bash। যাইহোক, আমি মনে করি না আপনি অতিরিক্ত পরিমাপ প্রয়োজন। এই আমার জন্য কাজ করে:

C:\cygwin64\bin\bash.exe -lic "emacs -q"


সম্পাদনা করুন: তবে অবশ্যই আপনি ব্যবহার করছেন --eval Emacs সঙ্গে সুইচ, যার মানে আপনি মূল্যায়ন যাই হোক না কেন আপনি কোট ব্যবহার করতে চান। এখানে হিট হল যে eval এর যুক্তি এছাড়াও উদ্ধৃত করা প্রয়োজন, যেমন।
C:\cygwin64\bin\run.exe bash -lic '"emacs --eval \"(foo)\""'

যে ভিতরে স্ট্রিং উদ্ধৃতি, আপনি বাইরের একক উদ্ধৃতি প্রতিস্থাপন করতে হবে দ্বিগুণ এবং ডবল এবং ট্রিপল-পালা প্রয়োজন হিসাবে:

C:\cygwin64\bin\run.exe bash -lic "\"emacs --eval \\\"(message \\\\\\\"Foo\\\\\\\")\\\"\""

অবশ্যই যে বাদাম বেশ দ্রুত পায়। স্ট্রিং আক্ষরিক সিনট্যাক্সটি আপনাকে স্ট্রিংয়ের ভিতরে একক উদ্ধৃতিগুলি অব্যাহতি দেওয়ার সময়ও একক উদ্ধৃতি ব্যবহার করে জিনিসগুলিকে সামান্য স্যানার করে তোলে:

C:\cygwin64\bin\run.exe bash -lic "\"emacs --eval $'(message \\\"Foo\\\")'\""

অবশেষে, Emacs এর ভিতরে একটি ফাংশন হিসাবে মূল্যায়ন করতে চান এমন কোডটি কেবল এনক্যাপুলুল করার বিকল্প রয়েছে যাতে আপনি স্ট্রিং বা প্রতীক লিখন ছাড়াই এটি কল করতে পারেন। অন্যথায়, আপনি এটি একটি ফাইলের মধ্যে রাখতে পারেন এবং এ্যাম্যাকগুলি এটি লোড করতে পারেন -l সুইচ।


একক উদ্ধৃতি কৌশল জন্য ধন্যবাদ। কিন্তু এখনও, আমি এই কাজটি পেতে পারছি না: d:\cygwin64\bin\run.exe zsh -lic '"emacs --eval (switch-to-buffer (get-buffer-create \"sss\"))"'। কোনও পরামর্শ?
David S.

তাত্ক্ষণিক সমস্যাটি হল যে আপনি সম্পূর্ণ আর্গুমেন্টকে উদ্ধৃতি চিহ্নের ভিতরে প্রবেশ করতে হবে, কিন্তু তারপরে আমি তার ভিতরে স্ট্রিংগুলি উদ্ধৃত করার উপায় খুঁজে বের করতে পারি না। অন্য ধারণা জন্য আমার সম্পাদনা দেখুন।
Aaron Harris

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