উইন্ডোজ কমান্ড প্রম্পটে .sh কীভাবে চালানো যায়?


132

উইন্ডোজ 7 কমান্ড প্রম্পটে আমি কীভাবে .sh চালাতে পারি? আমি যখন এই লাইনটি চালানোর চেষ্টা করি তখন আমি সর্বদা এই ত্রুটিটি পেয়েছি,

app/build/build.sh

ত্রুটি,

'app' is not recognized...

বা,

bash app/build/build.sh

ত্রুটি,

'bash' is not recognized...

কোন ধারণা আমি কি মিস করেছি?

এখানে স্ক্রিন দখল, এখানে চিত্র বর্ণনা লিখুন


6
আপনার সাইগউইন প্রয়োজন (সম্ভবত)। আপনি উইন্ডোজে শেল (.sh) স্ক্রিপ্টগুলি চালানোর চেষ্টা করছেন এবং আমি .shউইন্ডোজে আমার ফাইলগুলি চালানোর একমাত্র উপায় ।
ha9u63ar

উত্তর:


54

ত্রুটি বার্তাটি ইঙ্গিত করে যে আপনি ইনস্টল করেননি bashবা এটি আপনার নেই PATH

শীর্ষস্থানীয় গুগল হিটটি হ'ল http://win-bash.sourceforge.net/ তবে আপনার এটিও বুঝতে হবে যে বেশিরভাগ বাশ স্ক্রিপ্টগুলি ইউনিক্সের মতো পরিবেশের প্রত্যাশা করে; সুতরাং কেবলমাত্র বাশ ইনস্টল করা সম্ভবত আপনাকে নেটে পাওয়া স্ক্রিপ্টটি চালানোর অনুমতি দেয় না, যদি না এটি নির্দিষ্টভাবে এই ব্যবহারের দৃশ্যের জন্য বিশেষভাবে ডিজাইন করা হয়। এর সাধারন সমাধান হ'ল https://www.cygwin.com/ তবে অনেকগুলি সম্ভাব্য বিকল্প রয়েছে, এটি নির্ভর করে যে আপনি ঠিক কী অর্জন করতে চান।

উইন্ডোজ যদি আপনার ব্যবহারের দৃশ্যের কেন্দ্রিয় না হয় তবে একটি ফ্রি ওএস (সম্ভবত ভার্চুয়ালাইজড) ইনস্টল করা সম্ভবত এগিয়ে যাওয়ার সহজ উপায়।

দ্বিতীয় ত্রুটি বার্তা এই কারণে যে উইন্ডোজ নামমাত্রভাবে ফরোয়ার্ড স্ল্যাশকে ডিরেক্টরি বিভাজক হিসাবে গ্রহণ করে তবে এই প্রসঙ্গে, এটি একটি সুইচ বিভাজক হিসাবে ব্যাখ্যা করা হচ্ছে। অন্য কথায়, উইন্ডোজ আপনার কমান্ড লাইনটিকে app /build /build.sh(বা ইউনিক্স বিকল্প কনভেনশনগুলির সাথে প্যারাফ্রেজ হিসাবে ) পার্স করে app --build --build.sh। আপনি চেষ্টা করতে পারেন app\build\build.shতবে উপরে বর্ণিত পরিস্থিতির কারণে এটি কার্যকর হওয়ার সম্ভাবনা নেই।


1
অবশ্যই, উইন্ডোজ 10 এর সাহায্যে আপনি ডাব্লুএসএল সক্ষম করতে পারেন এবং আপনার উইন্ডোজটিতে প্রায় একটি বাস্তব কম্পিউটার থাকতে পারে।
ট্রিপল

147

জিআইটি ইনস্টল করুন । জিআইটি ইনস্টল করার সময়, উইন্ডোজ প্রসঙ্গ মেনুতে বিকল্পটি নির্বাচন করে জিআইটি বাশ যুক্ত করুন। ইনস্টলেশন শেষে আপনার ফোল্ডারে ডান ক্লিক করুন GIT Bash Here(সংযুক্ত ছবি দেখুন) নির্বাচন করুন এবং উদাহরণস্বরূপ আপনার sh কমান্ডটি ব্যবহার করুন:

sh test.sh

এখানে চিত্র বর্ণনা লিখুন


1
এটি আমার পক্ষে কাজ করে না। কমান্ড প্রম্পট উইন্ডোটি খোলে তারপরে দ্রুত বন্ধ হয়।
দেশব্যাপী

27
আপনার যদি জিআইটি ইনস্টল করা থাকে তবে আপনি PATH সিস্টেমের চলকটিতে একটি পাথ যোগ করতে পারেন sh.exe। আমার ক্ষেত্রে এটি ছিল: c:\Program Files\Git\bin। তারপরে sh .\script.shপাওয়ারশেল
এলশেভ

1
এটি আমার জন্য উইন্ডোজ 10-তে 2020 সালে কবজির মতো কাজ করে! যদিও কপি / পেস্ট কমান্ডটি আমার পক্ষে কাজ করছে না কারণ এটি নির্ধারিত হয়েছে ctrl-insএবংshift-ins
নাম জি ভিইউ

51

.Sh ফাইল চালানোর সর্বাধিক সাধারণ উপায় হ'ল sh কমান্ডটি ব্যবহার করা :

C:\>sh my-script-test.sh 

অন্যান্য ভাল বিকল্প সাইগউইন ইনস্টল করা হয়

মধ্যে অবস্থান করবে:Windowshome

C:\cygwin64\home\[user]

উদাহরণস্বরূপ আমি ব্যাশ কমান্ডটি my-script-test.shব্যবহার করে আমার ফাইলটি সম্পাদন করি :

jorgesys@INT024P ~$ bash /home/[user]/my-script-test.sh 

43
আপনি যদি এটির জন্য বিশেষ ব্যবস্থা না নেন তবে আপনার shউইন্ডোজে কোনও আদেশ থাকবে না ।
ব্যবহারকারী 2357112

1
ঠিক আছে -১, আপনি কি বোঝাতে চেয়েছেন যে কমান্ড লাইন থেকে অ্যাক্সেস পেতে আমাকে একটি টিউটোরিয়াল যুক্ত করতে হবে ???
জর্জেসিস 21

41
আপনার উত্তরটি এমনভাবে উপস্থাপন করা হয়েছে যেন আপনি shএকটি স্বেচ্ছাসেবী উইন্ডোজ কমান্ড প্রম্পটে টাইপ করতে সক্ষম হন এবং এটি কার্যকর হয় বলে আশা করেন ।
ব্যবহারকারী 2357112 22

মিশ কমান্ড পাওয়ার জন্য msys2 একটি ভাল জায়গা। পরীক্ষা করে দেখুন github.com/userzimmermann/MSYS2-cmd আপনি cmd কমান্ড সঙ্গে এটি ব্যবহার করতে চান তাহলে
Aralox

3
shআপনি 'ইনস্টল ব্যাশ' ইনস্টল বিকল্পটি বেছে নিলে গিট 4 উইন্ডোতে বাশ এবং কমান্ডটি ইনস্টল করা হবে।
জোয়েল এলিস

13

আপনি এছাড়াও সেমিডার ব্যবহার করতে পারেন

উইন্ডোজে চমৎকার কনসোল এমুলেটরগুলির অনুপস্থিতিতে সিএমডার হ'ল একটি সফ্টওয়্যার প্যাকেজ যা খাঁটি হতাশায় তৈরি হয়েছিল। এটি আশ্চর্যজনক সফ্টওয়্যার ভিত্তিক, এবং মনোোকাই রঙের স্কিম এবং একটি কাস্টম প্রম্পট বিন্যাসের সাথে মশলাদার, শুরু থেকেই সেক্সি দেখাচ্ছে

স্ক্রিনশট

cmder.net


1
যদিও এটি ইউনিক্স শেল কমান্ডগুলি অন্তর্ভুক্ত করে এমন একটি alচ্ছিক অ্যাড-অন প্যাক নিয়ে আসে বলে মনে হচ্ছে, বেস প্যাকেজটি কেবল একটি প্রতিস্থাপন বলে মনে হচ্ছে cmd
ট্রিপলি

5

উইন্ডোজ 10 বার্ষিকী আপডেটে উইন্ডোতে উবুন্টুতে বাশ সহ শেল কমান্ডগুলি চালানো আরও সহজ

আমি আমার এক্স-আর্ট r7000 নেটগিয়ার রাউটারের জন্য আমার অঞ্চলটি সেট করার চেষ্টা করছিলাম, আমি নীচেরগুলিতে আমার জন্য উইন্ডোতে উবুন্টুতে ব্যাশ ব্যবহার করে কাজ করেছি, আপনাকে উইন্ডোজ বৈশিষ্ট্যগুলিতে পাওয়া সাবসিস্টেমটি সক্ষম করতে হবে এবং ডেভ মোড চালু করতে হবে

ssh admin@192.168.1.1 < /mnt/c/ccode-eu.sh

চালাতে পারে। তবে এটি সম্পূর্ণ ভিন্ন পরিবেশ।
TamusJRoyce

4

উইন্ডোজে নতুন বৈশিষ্ট্য - উইন্ডোতে উবুন্টুতে বাশ চালান - বিল্ড কনফারেন্সের পরে উইন্ডোজ 10 "ইনসাইডারস" বিল্ডগুলিতে উপলব্ধ:

https://blogs.windows.com/buildingapps/2016/03/30/run-bash-on-ubuntu-on-windows/


দুর্দান্ত, তবে আপনি কীভাবে একটি shফাইল চালাবেন bash? যদি আমি এটি করার চেষ্টা করি, উইন্ডোটি কেবল জ্বলজ্বল করে এবং অদৃশ্য হয়ে যায়। যদি আমি ফাইলটি একটি খোলা বাশ উইন্ডোতে টেনে আনি এবং ফেলে দিই, তবে এটি বলে যে পথটি খুঁজে পাওয়া যায় নি (কারণ এটি একটি আলাদা কনভেনশন ব্যবহার করে)।
m93a

আজকাল কি উইন্ডোজে একটি .sh ফাইল চালানো সম্ভব? আমি এখনই এটি চেষ্টা করতে পারছি না তবে আমি আগ্রহী
JesusMurF

1
আমি নিজে চেষ্টা করে দেখিনি, তবে উইন্ডোজগুলিতে কীভাবে শ চালানো যায় সে সম্পর্কে মাইক্রোসফ্টের একটি গাইড রয়েছে: ডকস.মাইক্রোসফট.ইন- ইউএস
উইন্ডোস

@ m93a একটি উবুন্টু টার্মিনাল উইন্ডোতে, bash path/to/scriptস্ক্রিপ্টটি চালায়। shউবুন্টুতে অবশ্যই আছে । স্ক্রিপ্টের যদি সঠিক শেবাং এবং অনুমতি থাকে তবে কেবল path/to/scriptএটি শেবাং-এ উল্লিখিত rnterpreter দিয়ে চালাবে।
ট্রিপলি

4

ব্যক্তিগতভাবে আমি এই ব্যাচ ফাইলটি ব্যবহার করেছি, তবে এর জন্য সাইগউইন ইনস্টল করা প্রয়োজন (64৪-বিট দেখানো হয়েছে)। কেবলমাত্র ফাইল টাইপ .SH এই ব্যাচফিলের সাথে সংযুক্ত করুন (আমার ক্ষেত্রে এক্সিকিএসএইচ.ব্যাট) এবং আপনি .SH- এ ডাবল ক্লিক করতে পারেন এবং এটি চলে runs

@echo off
setlocal

if not exist "%~dpn1.sh" echo Script "%~dpn1.sh" not found & goto :eof

set _CYGBIN=C:\cygwin64\bin
if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & goto :eof

:: Resolve ___.sh to /cygdrive based *nix path and store in %_CYGSCRIPT%
for /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%~dpn1.sh"') do set _CYGSCRIPT=%%A
for /f "delims=" %%A in ('%_CYGBIN%\cygpath.exe "%CD%"') do set _CYGPATH=%%A

:: Throw away temporary env vars and invoke script, passing any args that were passed to us
endlocal & %_CYGBIN%\mintty.exe -e /bin/bash -l -c 'cd %_CYGPATH%;  %_CYGSCRIPT% %*'

এই মূল কাজের উপর ভিত্তি করে ।


0

আমি এখানে নির্দেশিত হিসাবে উইন্ডোজ 10-এ উইন্ডোজ 10 ব্যাশ শেল ওরফে লিনাক্স সাবসিস্টেম ওরফে উবুন্টু ব্যবহার করি

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