গিট-ব্যাশ এবং সাইগউইন শেল কি একই কাজ করতে পারে?


13

উইন্ডোজ 10-এ, গিট-ব্যাশ এবং সাইগউইন শেল একই কাজ করতে পারে?

একজন আরেকজন কী করতে পারে তবে অন্যজন পারে না?

উদাহরণ স্বরূপ,

  1. শাঁস হিসাবে, তারা উভয়ই কি বাশের মতো একই কাজ করতে পারে?
  2. কোনটিতে কোন প্রোগ্রাম এবং কমান্ড চলতে পারে তবে অন্যটিতে চলতে পারে না?

    উদাহরণস্বরূপ, গিট-ব্যাশে, আমি কিছু উইন্ডোজ কমান্ড চালাতে পারি না:

    $  reg add "HKCU\Software\Microsoft\VisualStudio\14.0_Config\MSBuild" /v EnableOutOfProcBuild /t REG_DWORD /d 0 /f
    ERROR: Invalid syntax.
    Type "REG ADD /?" for usage.
    

    তবে সাইগউইন-তে এটি ভালই চলে

    $  reg add "HKCU\Software\Microsoft\VisualStudio\14.0_Config\MSBuild" /v EnableOutOfProcBuild /t REG_DWORD /d 0 /f
    The operation completed successfully.
    

    মূলত আমি ভেবেছিলাম যে গিট-ব্যাশ এবং সাইগউইন উভয়ই উইন্ডোজে প্রোগ্রাম চালাতে পারে। সুতরাং কেন গিট-ব্যাশ কাজ করে না, যখন সাইগউইন পারে?

ধন্যবাদ।

উত্তর:


10

পার্থক্যটি হল সাইগউইন তথাকথিত "উইন 32" পথের নামগুলি কীভাবে প্রসেস করতে হয় তা জানেন। স্বাচ্ছন্দ্যে বললে, এটি জানে যে "\" একটি পাথনাম বিভাজক এবং শেলের হাতছাড়া চরিত্রটি যেমন বাশের মতো নয়। আপনি যে ত্রুটিটি দেখিয়েছেন তা হ'ল বাশ "" escape "কে পালানোর চরিত্র হিসাবে ব্যাখ্যা করছে। (সম্পাদনা করুন: আপনি দু'জনের সাথে একজনকে প্রতিস্থাপনের চেষ্টা করতে পারেন, এভাবে ব্যাকস্ল্যাশ থেকে বেরিয়ে এসেছিলেন, যাতে বাশ সঠিকভাবে reg.exe কমান্ডটি পাস করতে পারে))

এটি বলার পরেও, যখন সাইগউইন উইন্ডোজ পাথরনামগুলি আঁকছেন, এটি করা পছন্দ করে না। ডকুমেন্টেশন তাদের ব্যবহার থেকে আপনাকে বন্ধ সতর্ক করে। অবশ্যই, এখন কিছুটা পিছনে স্লাইডিং করুন এবং তারপরে কোনও ক্ষতি হবে না। তবে আপনি যখন সাইগউইনে উইন্ডোজ প্রোগ্রাম পরিচালনা করতে পারেন, হাইজিন পরামর্শ দেয় যে আপনার দীর্ঘমেয়াদী স্বচ্ছলতার জন্য সিএমডি.এক্সইএস প্রসেসর এবং সিগউইনে ইউএনআইএক্সের উইন্ডোজ প্রোগ্রামগুলি চালানো উচিত।


1
আপনি উইন্ডোজ এবং ইউনিক্স পাথ ফর্ম্যাটগুলির মধ্যে রূপান্তর করতে সাইগপাথ ব্যবহার করতে পারেন ।
ডেভিডপস্টিল

ধন্যবাদ। আমার কমান্ডের পাথের নামটি রেজিস্ট্রি টেবিলের কী হিসাবে ব্যবহৃত হয়, সুতরাং তাদের মধ্যে "\" "/" দিয়ে প্রতিস্থাপন করা যায়?
টিম

হতে পারে, তবে (নতুন সম্পাদিত) উত্তরে পরামর্শটি দেখুন।
সর্বদা

1

দুজনের মধ্যে প্রচুর ওভারল্যাপ হয়। তবে শেষ পর্যন্ত এগুলি উইন্ডোজে বাশ / হর এর বিভিন্ন প্রয়োগ।

সাইগউইনের একাধিক বিকল্প softwareচ্ছিক সফ্টওয়্যার রয়েছে যা আপনি ইনস্টল করতে পারেন, একাধিক বিভিন্ন প্রোগ্রামিং ভাষা, সংকলক, বিভিন্ন নেটওয়ার্ক সরঞ্জাম এবং আরও অনেক কিছু সহ। আপনি এক্স এবং অনেক এক্স অ্যাপ্লিকেশন ইনস্টল করতে পারেন।

গিট ব্যাশের সাহায্যে আপনি যা পান তা পেয়ে যান এবং অতিরিক্ত সরঞ্জামগুলি ইনস্টল করা আরও কিছুটা কঠিন। আমার ওয়ার্কস্টেশনটিতে আমার উভয়ই আছে, কারণ এমন কিছু জিনিস আছে যা আমি গিট ব্যাশে করতে পারি না। আমিও গিট ব্যাশ উইন্ডো থেকে সাইগউইন অ্যাপ্লিকেশন কল করতে খুব মিশ্র সাফল্য পেয়েছি।

এছাড়াও, সাইগউইন একটি সম্পূর্ণ পিক্সিক এনভায়রনমেন্ট, কেবল কোনও ব্যাশ ইন্টারপ্রেটার নয়, তাই আপনি প্রায়শই এর মধ্যে নন-ডিস্ট্রিবিউটড কোডটি সংকলন করতে পারেন, উদাহরণস্বরূপ, আপনি যদি খুঁজে পেয়েছেন একটি চমৎকার লিনাক্স সরঞ্জামের উত্স খুঁজে পেয়েছেন, তবে আপনি সাধারণত সেই সরঞ্জামটি সংকলন করতে পারেন Cygwin। গিট ব্যাশের পক্ষে তেমন কিছু নয়। এবং আমি উপরে উল্লিখিত হিসাবে, আপনি এটি সাইগউইনের জন্য সংকলন করলেও সম্ভবত এটি গিট ব্যাশে কাজ করবে না।

এগুলি ছাড়াও তারা বেশিরভাগ ক্ষেত্রে একই রকম similar cygpathগিটি ব্যাশে উইন্ডোজ এবং পসিক্স ফাইলের পাথগুলিতে রূপান্তর করার জন্য কমান্ড অন্তর্ভুক্ত রয়েছে তা দেখার মতো মজার বিষয় হল , কারণ গিট ব্যাশ আফিক MinGW এর উপর ভিত্তি করে তৈরি, যা সাইগউইনের একটি স্বতন্ত্র সমাধান।


0

আমি কেবল একটি পার্থক্য পেয়েছি: আমি এই স্ক্রিপ্টটি গিট ব্যাশে চালাতে পারি তবে সাইগউইনে নয়।

for file in *.xml; do
    echo "Processing file: $file"
    sed -r 's:<Autorizado>([0-9]+)</Autorizado>:<Autorizado>00013069</Autorizado>:' -i "$file"
    # ...
done

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

Processing file: *.xml
sed: cannot read *.xml: No such file or directory

bash --version গিট ব্যাশে:

GNU bash, version 4.3.42(5)-release (x86_64-pc-msys)

সাইগউইনে:

GNU bash, versión 4.3.46(7)-release (x86_64-unknown-cygwin)

এটি কেবলমাত্র সুপারিশ করে যে বর্তমান ডিরেক্টরিতে .xML এ শেষ হওয়া কোনও ফাইল নেই যা সাইগউইন পরীক্ষার ক্ষেত্রে। lsকমান্ড সহ আপনার বর্তমান ডিরেক্টরিতে ফলাফল দেখা উচিত ।
পিটার - মনিকা পুনরায়

আমি বিশ্বাস করি যে এটি একই নয় কারণ আমি একই সময়ে দুটি টার্মিনালে একই স্ক্রিপ্টটি চালাচ্ছি। ফাইল আছে।
ওয়েস্টার্নগুন

2
দুটি সম্ভাবনা রয়েছে: (1) এই জাতীয় কোনও ফাইল নেই, সম্ভবত সাইগউইন স্ক্রিপ্টটি ভিন্ন ডিরেক্টরিতে চলে। সেক্ষেত্রে শেলটি প্যাটার্নটি একা ফেলে দেয় (খালি স্ট্রিংয়ের পরিবর্তে পরিবর্তে)। (এটি প্রায় সর্বদা ভুল বলে মনে হয় যতক্ষণ না কেউ উপলব্ধি করে যে কেউ findসেই পথে নিদর্শনগুলি পাস করতে পারে )) (২) ফাইলের নামগুলি আসলে * .XML (রাজধানীতে) এবং শেল বিকল্পটি nocaseglobগিট শেল তৈরিতে সেট করা থাকে গ্লোবস কেস সংবেদনশীল (যা উইন্ডোজে একটি নির্দিষ্ট ধারণা দেয়)।
পিটার - মনিকা পুনরায়
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.