বাশ স্ক্রিপ্টে বিন্দুর পরে একটি স্থান এবং তারপরে একটি পথ কী বোঝায়?


83

ওপেনভিজে কনটেইনারটিতে ইউএসবি ডিভাইস মাউন্ট করার চেষ্টা করার সময় আমি এই উদাহরণটি দেখতে পেয়েছি এবং এর আগে আমি দ্বিতীয় লাইনে কখনও নির্মাণটি দেখিনি। এটি কী বোঝায় তা ব্যাখ্যা করতে পারেন?

#!/bin/bash
. /etc/vz/vz.conf

উত্তর:


98

এটি বিল্টিনের প্রতিশব্দ source। এটি বর্তমান শেলের কোনও ফাইল থেকে কমান্ডগুলি কার্যকর করবে , যেমন থেকে help sourceবা পড়ুন help .

আপনার ক্ষেত্রে, ফাইলটি /etc/vz/vz.confকার্যকর করা হবে (খুব সম্ভবত এটির মধ্যে কেবল পরিবর্তনশীল অ্যাসাইনমেন্ট রয়েছে যা পরে স্ক্রিপ্টে ব্যবহৃত হবে)। এটি কেবলমাত্র /etc/vz/vz.confবিভিন্ন উপায়ে ফাইল চালানো থেকে পৃথক : সর্বাধিক সুস্পষ্ট হ'ল ফাইলটি কার্যকর করার দরকার হয় না; তারপরে আপনি এটিটি চালিয়ে যাওয়ার কথা ভাববেন bash /etc/vz/vz.confতবে এটি কেবলমাত্র একটি শিশু প্রক্রিয়াতে এটি সম্পাদন করবে এবং পিতামহীন স্ক্রিপ্ট শিশুটি যে কোনও পরিবর্তন (যেমন, ভেরিয়েবলগুলির) দেখতে পাবে না।

উদাহরণ:

$ # Create a file testfile that contains a variable assignment:
$ echo "a=hello" > testfile
$ # Check that the variable expands to nothing:
$ echo "$a"

$ # Good. Now execute the file testfile with bash
$ bash testfile
$ # Check that the variable a still expands to nothing:
$ echo "$a"

$ # Now _source_ the file testfile:
$ . testfile
$ # Now check the value of the variable a:
$ echo "$a"
hello
$

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


14
কেবল একটি নোট: .বেশিরভাগ শেলগুলিতে কাজ করবে (sh, ছাই, ksh, ইত্যাদি), ব্যাশের sourceজন্য নির্দিষ্ট।
Dmytro সিরেনকো

3
@EarlGray sourceনয় শুধু ব্যাশ - এটা সি-শৈলী শাঁস আছে ( csh, tcshখুব এবং zsh -)। .বোর্ন-স্টাইলের শেলগুলিতে লিস্টযুক্তগুলি সহ কাজ করে । বাশ একটি বোর্ন-স্টাইলের শেল এবং সি-স্টাইলের শেলটিতে অ-তুচ্ছ জটিলতার কোনও বাশ স্ক্রিপ্ট সম্ভবত চালিত .হওয়ার কথা বিবেচনা করে এটিকে সত্য আরও অনেক বহনযোগ্য হিসাবে বিবেচনা করা উচিত। তবে ব্যাশের sourceসমার্থক শব্দটি .বহনযোগ্যতার জন্য আংশিকভাবে বিদ্যমান।
এলিয়াহ কাগন

1
@ এলিয়াকাগান হ্যাঁ, আপনি ঠিক বলেছেন; এটি .সার্বজনীন বহনযোগ্য এবং sourceবিস্তৃত ছড়িয়ে থাকা বলা ভাল তবে এটি সাধারণভাবে কাজ করে না sh
Dmytro সিরেনকো

5

যখন কোনও স্ক্রিপ্ট 'উত্স' ব্যবহার করে এটি চালিত হয় এটি বিদ্যমান শেলের মধ্যে চলে যায়, স্ক্রিপ্ট দ্বারা তৈরি বা সংশোধিত যে কোনও ভেরিয়েবলগুলি স্ক্রিপ্ট সম্পূর্ণ হওয়ার পরে উপস্থিত থাকবে।

বাক্য গঠন . ফাইলের নাম [যুক্তি]

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