আমার বাশ যাদু আপগ্রেড করার চেষ্টা করছি। এই আদেশটি বোঝার জন্য সহায়তা করুন: ব্যাশ-এস স্থিতিশীল


18

ঠিক আছে তাই আমি আমার ম্যাকে আরভিএম ইনস্টল করার জন্য একটি টিউটোরিয়াল দিয়ে কাজ করছি। কার্লের মাধ্যমে আরভিএম পাওয়ার জন্য bash কমান্ডটি

curl -L https://get.rvm.io | bash -s stable

আমি rvm.io অবস্থানের প্রথম অর্ধের কার্ল কমান্ডটি বুঝতে পারি এবং ফলাফলটি পরবর্তী ব্যাশ কমান্ডে পাইপ দেওয়া হয়েছে তবে আমি নিশ্চিত নই যে এই আদেশটি কী করছে। আমার প্রশ্নগুলো:

-s: আমি কীভাবে এগুলি উল্লেখ করব তা সম্পর্কে আমি সর্বদা বিভ্রান্ত। এটি কোন ধরণের জিনিস: একটি কমান্ড লাইনের যুক্তি? একটি সুইচ? অন্যকিছু?

-স: এটা কি করছে? আমি প্রায় আধা ঘন্টা ধরে গুগল করেছি তবে কীভাবে এটি উল্লেখ করা যায় তা নিশ্চিত নয়।

স্থিতিশীল: এটা কি?

tl; dr: bash -s স্থিতিশীল কমান্ডটি বোঝার জন্য আমাকে সহায়তা করুন

যারা এই পোস্টের উত্তর দিচ্ছেন তাদের কাছে আমি একদিন আপনার মতো বশ সাহিত্যের কামনা করছি। ততক্ষণ পর্যন্ত আমার মতো ওপাস্টার্ডগুলি আপনাকে সহায়তার জন্য ধন্যবাদ জানায়!

উত্তর:


22

-sজিনিস একটি বিকল্প বলা হয়। আপনার ক্ষেত্রে এটির অর্থ bashপ্রথম অবস্থানগত প্যারামিটার সেট দিয়ে কার্যকর করা হবে । আপনি যদি এটির সাথে খেলতে চান:

$ bash -s let us set some positional parameters just for fun
$ # doh? nothing seemed to happen
$ # In fact here we're in a new instance of bash with the parameters set. Look:
$ echo "$3"
set
$ echo "$5"
positional
$ # Get it?
$ printf "%s\n" "$@"
let
us
set
some
positional
parameters
just
for
fun
$ # Amazing!
$ # Let's get out of here!
$ exit
$ # (back to previous bash session)
$

আপনার ক্ষেত্রে, কার্লের মাধ্যমে ডাউনলোড করা স্ক্রিপ্টটি এতে প্রেরণ করা হয়েছে bash(সুতরাং এটি কার্যকর করা হবে) এবং এতে প্রথম অবস্থানগত পরামিতি সেট থাকবে stable

যদি কখনও আপনি বিকল্পগুলির সাথে আটকে থাকেন man bashতবে তারা কী করবেন তা আপনি জানেন না: এবং তারপরে এটি টাইপ করুন /-sযেখানে -sবিকল্পটি বর্ণিত হয়েছে সেখানে আপনাকে কমবেশি পাবেন । অথবা আপনি যদি জানতে চান যে -uবিকল্পটি কী করে sed: man sedএবং তারপরে টাইপ করুন /-u

আশাকরি এটা সাহায্য করবে!


"অবস্থানগত পরামিতি"
মাইকচিন্কেল

2
@ মাইকচিন্কেল: রেফারেন্সটি দেখুন । অবস্থানগত পরামিতি ভেরিয়েবল, সংখ্যা দ্বারা প্রকাশ হয় যেমন, $1, $8। আপনি এগুলি সরাসরি সেট করতে পারবেন না। আপনি কোনও প্রোগ্রাম বা কোনও ফাংশন কল করার সময় সেগুলি স্বয়ংক্রিয়ভাবে সেট হয়ে যায়। একটি ফাংশন সঙ্গে উদাহরণস্বরূপ: fun() { echo "Parameter 2 is $2"; }। তারপরে চেষ্টা করুন fun hello worldএবং fun "hello gniourf" "how are you?"
gniourf_gniourf

ঠিক আছে, ধন্যবাদ. তবে তবুও বিভ্রান্ত; -sবিকল্পটি ব্যবহার না করা থেকে এটি কীভাবে আলাদা ?
মাইকচিন্কেল

1
@ মাইকস্কিঙ্কেল -sবিকল্প ছাড়াই : ফাইলটিbash stable সন্ধান করবে এবং এটি কার্যকর করার চেষ্টা করবে। সঙ্গে বিকল্প: : চালানো হবে, তার stdin কি আসে হিসাবে সেট । stable-sbash -s stablestable$1
gniourf_gniourf
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.