উত্তর:
আপনি উইন্ডোজ সিএমডি.এক্সই (ত্রুটির বার্তা থেকে) এ আছেন। কমান্ডগুলি কার্যকর করতে এটি একটি পৃথক বাক্য গঠন ব্যবহার করে। sh name.sh
আপনাকে সাইগউইন বা অনুরূপ ইনস্টল করা আছে তা ধরে নিয়েই আপনাকে ব্যবহার করতে হবে ।
স্পষ্ট করতে, উইন্ডোজ .sh ফাইল সমর্থন করার জন্য একটি অন্তর্নির্মিত ইউটিলিটি নেই। এগুলি চালানোর জন্য আপনাকে সাইগউইনের মতো একটি তৃতীয় পক্ষের সরঞ্জাম ইনস্টল করতে হবে ।
আপনি উইন্ডোজ কমান্ড প্রম্পটে একটি লিনাক্স কমান্ড চালানোর চেষ্টা করছেন।
লিনাক্সে ফরোয়ার্ড স্ল্যাশ হল একটি পথ বিভাজক। উইন্ডোজে ব্যাকস্ল্যাশ একটি পাথ বিভাজক এবং ফরোয়ার্ড স্ল্যাশ সাধারণত একটি যুক্তি নির্দেশ করে।
সুতরাং, উইন্ডোজ মনে করে যে আপনি "" নামে একটি কমান্ড চালানোর চেষ্টা করছেন। এবং এটি "/ name.sh" যুক্তিটি বিশ্লেষণ করে। সঠিক কনভেনশনটি "। \ Name.sh" হবে। অতিরিক্তভাবে উইন্ডোজ স্বয়ংক্রিয়ভাবে আপনার কমান্ডের জন্য বর্তমান ডিরেক্টরি অনুসন্ধান করবে যাতে আপনি কেবল "name.sh" টাইপ করতে পারেন।
পরবর্তী সমস্যার মুখোমুখি হ'ল উইন্ডোজ শ স্ক্রিপ্ট কী তা জানে না, এটি আবার একটি লিনাক্স বিষয়। আপনি যদি সত্যিই চান বা কোনও sh স্ক্রিপ্ট চালাতে চান তবে আপনি সাইগউইন ইনস্টল করে এটি সমাধান করতে পারেন।
তবে আপনার আগের মতামতের একটি বিবেচনা করে আপনি ঠিক পাশাপাশি নামটির জন্য স্ক্রিপ্টটির নাম পরিবর্তন করতে পারবেন bat এখন আপনার কাছে একটি ব্যাচ ফাইল রয়েছে যা উইন্ডোজকে বুঝতে হবে। আপনি এখানে ব্যাচ ফাইলগুলি সম্পর্কে আরও পড়তে পারেন ।
উইন্ডোজের জন্য .git ডাউনলোড ও ইনস্টল করুন
ডেস্কটপে ডান ক্লিক করুন এবং "গিট ব্যাশ এখানে" বলুন
ইউনিক্সের মতো আপনার স্ক্রিপ্টটি কার্যকর করুন
সম্পন্ন!
সাবধানতা: অনেক কমান্ড উইন্ডোতে কাজ করবে না! তবে তবুও, প্রচুর বেসিক স্টাফ কাজ করবে।
আপনার যদি নিয়মিত সেই স্ক্রিপ্টের প্রয়োজন হয় আপনি শর্টকাট তৈরি করতে চাইতে পারেন (আপনার ডেস্কটপে যেমন):
একটি শর্টকাট তৈরি করুন থেকে mintty.exe
আপনার ডেস্কটপে
শর্টকাটের বৈশিষ্ট্যগুলি সম্পাদনা করুন এবং লক্ষ্যটি পরিবর্তন করুন (পথে রাখুন):
C:\Program Files\Git\usr\bin\mintty.exe" -h always /bin/bash -l -e 'D:\folder\script.sh'
আপনি নিজের গাড়িটি পেট্রলের পরিবর্তে কমলার জুসে চালানোর চেষ্টা করছেন। উইন্ডোজ ইউনিক্স / লিনাক্স / জেডস ইউনিক্স সাবসিস্টেম / * আইএক্স শেল স্ক্রিপ্টগুলির সাথে .bat বা .Cmd ফাইলগুলিতে সঞ্চিত অনুরূপ কমান্ড শেয়ার করে কারণ অপারেটিং সিস্টেমের এই দুটি পরিবার একটি সাধারণ পূর্বপুরুষ ডিইসি পিডিপি-এক্স মেশিনগুলিকে ভাগ করে দেয়।
আপনি যদি তাত্ক্ষণিক সন্তুষ্টি চান তবে আপনার এমন পরিবেশ ইনস্টল করতে হবে যা "sh.exe" প্রোগ্রাম বা "csh.exe" বা "bash.exe" প্রোগ্রাম সরবরাহ করে (tsh.exe কাউকে?)
বিকল্পভাবে, আপনি যদি ইউনিক্স স্ক্রিপ্ট কমান্ডগুলি খুব ভাল জানেন এবং আপনি উইন্ডোজ। সিএমডি এবং .bat ফাইল কমান্ডগুলি খুব ভাল জানেন তবে আপনি .sh ফাইলটি একটি .bat বা। সিএমডি ফাইলটিতে অনুবাদ করতে পারবেন। তবুও, আপনি প্রায়শই আরও বেশি ইউনিক্স-স্টাইলযুক্ত প্রোগ্রামগুলির মুখোমুখি হবেন যা উইন্ডোজের অধীনে সমান নয় - গ্রেপ, সেড, ভি, ইম্যাকস ইত্যাদি। সুতরাং, কেবল শেল এবং ইউনিক্স পাওয়ার জন্য সাইগউইন (কোনও মিনিমালিস্ট নয়) ইনস্টল করার কল সরঞ্জাম। এই বিশেষ অনুষ্ঠানের জন্য এটি ফ্ল্যাশ-ড্রাইভে রেখে দিন।
কেউ /
কমান্ড এবং \
পথের জন্য এমএস-ডস সম্পর্কে কিছু বলেছিলেন । এটি কিছুটা বিভ্রান্তিকর। আমার উদাহরণটি দেখুন:
C:\myfoo\foo\>cd../..
C:\myfoo\foo\>cd..\..
কার্যকর কোন পার্থক্য আছে। হ্যাঁ, সমস্ত ক্রিয়াকলাপের ক্ষেত্রে এটি সত্য নয় - আসল উত্তরটি কেবল না , বা সাইগউইন বা এসএসএইচডি ছাড়া আপনি পারবেন না।
আমি শুধু জানি, কারণ আমি বোকার মত অর্ধেক দিন অতিবাহিত জিনিসটা কি চেষ্টা if then fi
এবং eval
, exec
না -Djava.something
যখন বলা হয়।
উইন্ডোজের জন্য গিথুব ব্যবহার করুন। এটিতে ইউনিক্স পরিবেশের সমস্ত নির্বাহযোগ্য রয়েছে।
আমি একটি ভিন্ন এবং সহজ সমাধান পেয়েছি, যার নাম ইউনিক্সটিল ।
সি এবং ড্রাইভে এটি আনজিপ ডাউনলোড করুন। path
অন্তর্ভুক্ত করতে পরিবেশের পরিবর্তনশীল সেট করুন C:\UnixUtils\usr\local\wbin
।
এটা গুরুত্বপূর্ণ. পথ নির্ধারণ করবেন নাC:\UnixUtils\bin
সম্পূর্ণতার জন্য আমি উইন্ডোজ 10. বিস্তারিত জানার জন্য একটি নতুন "উইন্ডোজ সাবসিস্টেম লিনাক্সের জন্য" বৈশিষ্ট্য উল্লেখ করতে চান বর্ণনা করা হয় http://www.howtogeek.com/249966/how-to-install-and-use-the-linux- ব্যাশ-শেল-অন-জানালা-10 /
দ্রষ্টব্য, এটির জন্য "বিকাশকারী মোড" স্যুইচ সক্রিয় করা প্রয়োজন এবং "উইন্ডোজ সাবসিস্টেম ফর লিনাক্স (বিটা)" বিকল্পটি সক্ষম করতে হবে।
নিজের জন্য আমি খুঁজে পেলাম যে উইন্ডোজ ইনস্টলেশন (যা আমি যেভাবেই ব্যবহার করছি) এর জন্য গিটই যথেষ্ট।
এটি একটি পুরানো থ্রেড তবে যারা উইন্ডোজ 10 চালাচ্ছেন তাদের জন্য কন্ট্রোল প্যানেল থেকে 'উইন্ডোজ বৈশিষ্ট্যগুলি চালু বা বন্ধ করুন' থেকে উইন্ডোজ বৈশিষ্ট্যগুলি কেবল খুলুন
'লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেম' বৈশিষ্ট্যটি চয়ন করুন। ইনস্টল করার পরে, আপনার কাছে 'বাশ' রয়েছে এবং আপনি এমনকি ব্যাশের মধ্যে দেশীয় লিনাক্স সার্ভারগুলিও কনফিগার করতে পারেন। এবং অবশ্যই, sh কমান্ড, ব্যাশের মধ্যেও কাজ করে।
সমস্যাটি আসলে ফাইলটির মধ্যেই রয়েছে name.sh
- আপনি .
কমান্ডটি ব্যবহার করার চেষ্টা করছেন তবে এটি একধরণের শেল চালানোর চেষ্টা করছেন (যেমন csh
, আমি মনে করি) এটি কোনও বৈধ কমান্ড নয়।
সুতরাং: name.sh
সঠিক দিয়ে শুরু হয় #!/bin/sh
(যদি আপনি আসলে চালানোর চেষ্টা করছেন sh
)?
ঠিক আছে, এতে খুব বেশি ভুল আছে - #! / বিন / শ ফেলে দিন, এবং ব্যাটিংয়ের জন্য এক্সটেনশনটি পরিবর্তন করুন এবং এটি আরও কয়েকটি সমাধানের সাথে কাজ করতে পারে। তারপরে আপনি এটির ফাইল নাম দ্বারা এটিও প্রার্থনা করতে পারেন।
একটি ইউনিক্স শেল স্ক্রিপ্টের সিনট্যাক্স এবং একটি উইন্ডোজ ব্যাচ ফাইল খুব সমান নয়। সাইগউইন বা অযৌক্তিক পদার্থের সাথে প্রচুর গোলমাল কিছু এমন কিছু তৈরি করতে পারে যা উভয় ক্ষেত্রেই কার্যকর হতে পারে তবে আপনি যদি নিশ্চিত হন না যে পরিবেশ সর্বদা একই থাকে, তবে এটি মাথা ব্যথার উপযোগী নয়
drop the #!/bin/sh, and change the extention to bat, and it might work with a few more fixes.
কি?! আমি সন্দেহ করি যে আপনি এটি কখনও চেষ্টা করেন নি ... উইন্ডোজে, এমনকি সহজতম ব্যাশ ক্ষমতাগুলি অসমর্থিত বা দীর্ঘ সিনট্যাক্সের প্রয়োজন।
আপনার বাড়িতে যদি লিনাক্স বাক্স থাকে (বা কাজ করা হয়) এবং একই নেটওয়ার্কে প্লাগ করা থাকে এবং এই নেটওয়ার্কটি নিরাপদ থাকে তবে এটি কৌশলটি করতে পারে:
mount //WinMachine/Share LinuxFolder
(আইআইআরসি, এবং সাম্বার প্রয়োজন ) সাথে মাউন্ট করুন ।উইন্ডো থেকে শেল স্ক্রিপ্ট চালানোর জন্য। প্রথমে কমান্ডটি ব্যবহার করুন: ডস 2 ইউনিক্স তারপরে আপনি আপনার সাধারণ কমান্ড: sh runide.sh ব্যবহার করতে পারেন
এটি কার্যকর হবে।
যদিও এখানে বিদ্যমান উত্তর সময় সঠিক ছিল, উইন্ডোজ 10 করে এখন ঐচ্ছিকরূপে অন্তর্ভুক্ত একটি পূর্ণ ব্যাশ শেল চলমান উবুন্টু একটি পরিমার্জিত সংস্করণ ।
একবার এক্সিকিউটেবল হয়ে গেলে, স্ক্রিপ্টগুলি ব্যাশের মধ্যে থেকে স্বাভাবিক উপায়ে চালানো যেতে পারে, যেমন:
chmod +x myscript.sh
./myscript.sh
আপনি যদি উইন্ডোজ থেকে সরাসরি স্ক্রিপ্ট চালাতে চান তবে আপনি একই ডিরেক্টরিতে একটি শর্টকাট তৈরি করতে এবং 'টার্গেট' এর মতো কিছুতে সেট করতে পারেন:
C:\Windows\System32\bash.exe -c "./myscript.sh"
যদি আপনার স্ক্রিপ্টের পথটি শর্টকাটের অবস্থানের সাথে সম্পর্কিত হয় (উপরের উদাহরণের মতো) 'স্টার্ট ইন' ক্ষেত্রটিও ফাঁকা রয়েছে তা নিশ্চিত করে।