সিগুইন: মিনিটি / বাশে একটি স্ক্রিপ্ট চালান


2

প্রাথমিকভাবে SO.com এ জিজ্ঞাসা করা হয়েছে, কিন্তু আমি এটা বন্ধ। আমি ভাল SUU ফিট করে মনে হয়। এটি সঠিক জায়গা না হলে আমাকে বলুন।

আমি সাইজিনে চালানোর জন্য একটি .sh ফাইলে একটি প্রসঙ্গ মেনু যুক্ত করতে চাই।

আমি ডিফল্ট "ওপেন সিগুইন এখানে" কমান্ডটি প্রয়োগ করার চেষ্টা করেছি:

C:\cygwin\bin\mintty.exe -e /bin/xhere /bin/bash.exe "%L"

দুর্ভাগ্যবশত, আমি সব পেতে একটি উইন্ডো যে অবিলম্বে বন্ধ।
এছাড়াও, আমি 100% নিশ্চিত নই, xhere এর আর্গুমেন্টের উদ্দেশ্য এবং অর্থ কী?

এটি কাজ করছে:

C:\cygwin\bin\bash.exe %1

কিন্তু আমি মিনিট্টি টার্মিনাল উইন্ডো হিসাবে চাই।

চূড়ান্ত প্রশ্ন:
এখানে "ওপেন সিগুইন স্ট্রিং" স্ট্রিংয়ের জন্য কমান্ড স্ট্রিং যোগ করার একটি উপায় আছে?

উত্তর:


2

আমাকে অনুপ্রাণিত করার জন্য @ ওয়াজ_আজকে ধন্যবাদ।

সাইগুইনের সমস্যাটি হল, এটি POSIX শৈলী পাথগুলির প্রয়োজন।

এই আপনি ফাইল পরামিতি অনুবাদ করতে হবে মানে %1 যে উইন্ডোজ দ্বারা সরবরাহ করা হয়। এই ব্যবহার করা যাবে cygpath টুল. নিম্নলিখিত কোডটি একটি 1-লিনিয়ার দেখায় যা regedit কমান্ড হিসাবে ব্যবহার করা যেতে পারে:

C:\cygwin\bin\mintty.exe -e /bin/bash -l -c '$(/bin/cygpath "%1")'

নিচের লাইনটিতে কয়েকটি উদাহরণ রয়েছে, 1-লিনিয়ারের সাথে কী করা যেতে পারে:

#Simple
C:\cygwin\bin\mintty.exe -e bash -l -c '$(cygpath "%1")'

#Fire and Forget (With 1 second delay at the end to read any messages)
C:\cygwin\bin\mintty.exe -e bash -l -c '$(cygpath "%1"); echo DONE; sleep 1'

#With logging to static file
C:\cygwin\bin\mintty.exe -l C:\cygwin\home\Nippey\cygwin.log -e /bin/bash -l -c '$(cygpath "%1")'

#With interactive shell after execution (Unfortunately the -i parameter of bash does not work together with -c, so you have to start a sub-shell)
C:\cygwin\bin\mintty.exe -e /bin/bash -l -c '$(cygpath "%1"); bash'

2
$(cygpath "%1") একটি স্থান ধারণকারী পাথ সঙ্গে কাজ করবে না। ব্যবহার $(cygpath -ms "%1") পরিবর্তে.
user11153

1
চমৎকার খোঁজা। আমি আমার উত্তরে এটি টেনে আনব না, কারণ আপনার HDD কীভাবে ফরম্যাট করা হয়েছে তার উপর নির্ভর করে, পুরানো 8.3 ফর্ম্যাট অসমর্থিত হতে পারে। যাইহোক: আমার জন্য এটা ছাড়া এমনকি কাজ করে -ms সুইচ! এই তারপর আমার কনসোল হয়: Starting /bin/bash.exe >> xxx@xxx /cygdrive/c/Program Files আমি মনে করি এটি সঠিক উদ্ধৃতি নির্ধারণের একটি প্রশ্ন।
Nippey

0

আপনি নিম্নলিখিত কমান্ড দিয়ে চেষ্টা করা উচিত: C:\cygwin\bin\mintty.exe -e /bin/bash -l -c '%1'


আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ। এটি আসলে আমার সমস্যাটি সমাধান করেনি, যেমন সিগুইন লিনাক্স "/" পাথগুলি এবং M $ "\" পাথগুলি প্রত্যাশা করে না। কিন্তু আপনি কঠিন চেষ্টা করার জন্য আমার প্রেরণা ধাক্কা! আমি একটি পৃথক উত্তর যোগ করা হবে।
Nippey

আপনার উত্তর ব্যবহার করে, আরো সঠিক হতে /bin/bash: C:cygwinhomeNippeytest.sh: command not found
Nippey
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.