Command (কমান্ড) এবং কি করে?


10

আমি নীচের সিনট্যাক্সটি ব্যাশ স্ক্রিপ্টে দেখেছি:

 >$(command) &

আমি জানি যে এম্পারস্যান্ড &শেষে একটি কমান্ড পটভূমিতে চালিত করে, তবে আমি ডলার চিহ্নের সাথে কমান্ডের চারপাশে বন্ধনীগুলির সাথে এটি কখনও দেখিনি।

এটার কাজ কি?


আমি জানি এই জাতীয় ব্যবহারের $( ), তবে কোনও বিশ্রাম নেই। এটা ঠিক $(command) &, এটাই আমাকে বিভ্রান্ত করে।
আলফাওমেগা

উত্তর:


20

সংক্ষিপ্ত উত্তর

সিনট্যাক্স দেওয়া $(command) &যেন আপনি ব্যবহার করছেন তা শুধু আউটপুট গ্রহণ ফলাফলের একই commandএবং তারপর চালানোর চেষ্টা করে কমান্ড হিসাবে। এবং এই সমস্ত ব্যাকগ্রাউন্ডে সম্পন্ন হবে, যার অর্থ কোনও টার্মিনালে দৃশ্যমান আউটপুট বা ঝুলন্ত থাকবে না।

উদাহরণস্বরূপ, যদি আমাদের mycommand.txtবিষয়বস্তুগুলির সাথে নামযুক্ত কোনও পাঠ্য ফাইল থাকে :

echo "Hello World"

তারপরে আদেশ

$(cat mycommand.txt) &

চলমান সমান হবে

echo "Hello World" &

তবে যেহেতু আমরা অ্যাম্পারস্যান্ড ( &) যুক্ত করেছি, আমরা এই কমান্ড থেকে কোনও আউটপুট দেখতে পাচ্ছি না, সুতরাং এটি উদাহরণস্বরূপ এটি বেশ কার্যকর।


দীর্ঘ উত্তর (ব্যাখ্যা)

ডলার চিহ্ন $(পরিবর্তনশীল)

প্রথম বন্ধনে জিনিসটির আগে ডলার সাইন সাধারণত একটি পরিবর্তনশীল বোঝায়। এর অর্থ হ'ল এই কমান্ডটি বাশ স্ক্রিপ্ট থেকে সেই পরিবর্তনশীলটির পক্ষে একটি আর্গুমেন্ট প্রেরণ করছে বা কোনও কিছুর জন্য সেই ভেরিয়েবলের মান পাচ্ছে। ভেরিয়েবলগুলি ডেকে আনার জন্য এবং ঘোষণার জন্য ব্যাশ স্ক্রিপ্টিংয়ের পার্থক্যটি এরকম হয়:

ডলারের চিহ্ন ছাড়া ভেরিয়েবল ঘোষণা করুন এবং ডলারের চিহ্ন দিয়ে এটিকে কল করুন। উদাহরণস্বরূপ, একটি স্ক্রিপ্ট যা এতে রয়েছে

#!/bin/bash
STR="Hello World!"
echo $STR

এই আউটপুট হবে

Hello World!

প্যারেন্টেসিস ()- কমান্ড প্রতিস্থাপন

কমান্ড প্রতিস্থাপন একটি কমান্ডের আউটপুটকে কমান্ডটি প্রতিস্থাপন করতে দেয়। কমান্ড প্রতিস্থাপন ঘটে যখন কোনও কমান্ড নীচে সংযুক্ত থাকে:

$(command)

অথবা

`command`

বাশ একটি সাব-শেল পরিবেশে কমান্ডটি প্রয়োগ করে এবং কমান্ডের বিকল্পের পরিবর্তে কমান্ডের স্ট্যান্ডার্ড আউটপুট সহ কোনও নতুন ট্রিলিং নিউলাইন মুছে ফেলা করে। এম্বেড করা নতুনলাইনগুলি মোছা হয় না তবে শব্দ বিভাজনের সময় সেগুলি মুছে ফেলা হতে পারে। কমান্ড প্রতিস্থাপন $(cat file)সমতুল্য কিন্তু দ্রুত দ্বারা প্রতিস্থাপন করা যেতে পারে $(< file)

এম্পারস্যান্ড &- পটভূমি প্রক্রিয়া

এবং তারপরে অ্যাম্পারস্যান্ড বা &প্রতীকটি যেমনটি আপনি বলেছেন, এটি পটভূমিতে চালানোর জন্য ব্যবহৃত হয়।


2

এটি কমান্ড হিসাবে "কমান্ড" এর আউটপুট নেয় এবং এটি পটভূমিতে চালিত হয়। এটি কার্যকরীভাবে "ইওল" এর সাথে তুলনীয়


এটি টার্মিনাল উইন্ডোতে উপস্থিত একটি প্রতীক যা আপনি যা করার চেষ্টা করছেন তার উপর নির্ভর করে আপনার প্রবেশের প্রয়োজন হতে পারে না। আপনি যখন টার্মিনালটি খুলবেন তখন আপনি এটি তাত্ক্ষণিকভাবে দেখতে পাবেন।
monkeyman_stones

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