টার্মিনাল কমান্ডে `>>` এর অর্থ কী?


14

আমি এখনই নীচে দেওয়া একটি কমান্ড পেয়েছি -

$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile

আমি যা অনুমান করতে পারি, এটি সম্ভবত .bash_profile এ পরিবর্তনগুলি করার জন্য ব্যবহৃত হয় তবে এটি ঠিক কী জন্য ব্যবহৃত হয়?


26
ভবিষ্যতে কী উন্নতি করতে হবে তা কেবল আপনাকে জানাতে: man bashবেশ আনুষ্ঠানিক ভাষায় রচিত, এটি বুঝতে অসুবিধা হতে পারে। অন্যদিকে বাক্যাংশটি bash >>গুগলে কয়েকটি দরকারী লিঙ্ক দেয়। এটি সত্য যে আমরা গুগলের উপর নির্ভর না করে জ্ঞানকে একত্রিত করতে চাই; এই কারণে সহজে অনুসন্ধানযোগ্য উত্তর সহ একটি প্রশ্নও ফিট করতে পারে। তবে আপনি যে মুহূর্তে উত্তর সরবরাহ করেননি তা এখনই (দেখুন আমি কি আমার নিজের প্রশ্নের উত্তর দিতে পারি? ) বা বিদ্যমান সংস্থানগুলিতে ইঙ্গিত করা হয়নি (যে সম্ভবত আপনার বোঝার জন্য সহায়তা প্রয়োজন) গবেষণার অভাবকে নির্দেশ করে।
কামিল ম্যাকিয়রোভস্কি

5
কম্যান্ড-লাইন ফেরৎ অপারেটার একটি বিস্তারিত ওভারভিউ জন্য, দেখুন unix.stackexchange.com/q/159513/85039
Sergiy Kolodyazhnyy

উত্তর:


31

এটি প্রোগ্রামের >>স্টাডাউটটিকে পূর্বে পুনঃনির্দেশ করে এবং পরে প্রদত্ত ফাইলে এটি সংযোজন করে।


28
"প্রোগ্রামের আগে" এর অর্থ কী? অবশ্যই আদেশ দিন, তবে পুনর্নির্দেশগুলি >> file command
প্রিপেন্ডও

একটি উদাহরণ. উবুন্টুতে 18.04-এ আমি "অপ্ট অনুসন্ধান মরিচা টাইপ করতে পারি >> x" "অপ্ট অনুসন্ধান মরিচা" অংশটি মরিচা শব্দটির জন্য উপলব্ধ প্যাকেজগুলি অনুসন্ধান করে এবং পরে এটি স্ট্যান্ডার্ড আউটে প্রেরণ করে (সাধারণত এই ক্ষেত্রে টার্মিনাল)। তবে ">> x" ফাইলটি "x" এর শেষে আউটপুটটিকে পুনর্নির্দেশ করতে বলে। আমি যদি কেবল ফাইলটি প্রতিস্থাপন করতে চাইতাম তবে আমার কেবল একটি একক ">" প্রয়োজন।
NomadMaker

@rexkogitans কমান্ডের মাঝামাঝি সময়েও যদি আপনি আপনার কোডটি পড়তে বিভ্রান্ত করতে চান। echo a b >> c dযোগ হবে a b dনামে একটি ফাইলে c
ক্যাস্পারড

@ ক্যাস্পার্ড আপনি স্ট্যান্ডিন পুনর্নির্দেশকে অতিরিক্তভাবে কোনও ক্রমের মধ্যেও ছড়িয়ে দিতে পারেন।
রেক্সকোগিটানস

48

সংক্ষিপ্ত উত্তর - কি করে >>?

এর সাহায্যে >>আপনি একটি ফাইলের সাথে কমান্ডের আউটপুট যুক্ত করতে পারেন।

আপনার উদাহরণ কমান্ডটি মূলত:

কমান্ড >> ফাইলের নাম

সুতরাং আউটপুট commandযুক্ত করা হবে filename


এর নির্দিষ্ট ক্ষেত্রে কী ঘটে echo?

আপনার নির্দিষ্ট ক্ষেত্রে, echo "…"কমান্ডটি তার ইনপুট আর্গুমেন্টগুলিকে "stdout" এ আউটপুট করে, যা তথাকথিত "স্ট্যান্ডার্ড আউটপুট বর্ণনাকারী"। ইনপুট আর্গুমেন্টগুলি echoএকটি নতুন লাইন ( \n) অনুসরণ করা হয় , যাতে আপনি একটি লাইন ব্রেক পান।

এখানে, একটি "স্ট্যান্ডার্ড আউটপুট বর্ণনাকারী" কোনও আউটপুট স্ট্রিম ছাড়া আর কিছু নয় যা আপনার কমান্ড কার্যকর করার সময় আপনার শেলের মধ্যে প্রদর্শিত হয়। (এটি যখন আপনি টাইপ করুন echo fooএবং এন্টার টিপুন তখন হ'ল কমান্ডের foo\nআসল আউটপুট echo, যা আপনার শেল fooদ্বারা একটি নতুন লাইন অনুসরণ করে প্রদর্শিত হবে ))

মূলত আপনার কমান্ড লাইনে যে কিছু লেখেন তা স্টডআউট ব্যবহার করে। "স্ট্ডার" নামে আরও একটি বর্ণনাকারী রয়েছে যা সাধারণত ত্রুটি বার্তাগুলির জন্য ব্যবহৃত হয়। এটি স্টাডআউটের মতোও মুদ্রিত হবে, যাতে কখনও কখনও তারা ছেদ করা যায়। এবং একটি স্টিডিন বর্ণনাকারী রয়েছে যা ইনপুট জন্য ব্যবহৃত হয়। আরও তথ্যের জন্য এই নিবন্ধটি দেখুন ।

আপনি কিভাবে শেলের আউটপুট পুনর্নির্দেশ করবেন?

আপনি স্টডআউটকে সর্বদা একটি ফাইল বর্ণনাকারীর দিকে পুনর্নির্দেশ করতে পারেন, যা আপনি এই অপারেটরগুলির একটির সাথে করতে পারেন:

  • >একটি ফাইল বর্ণনাকারী পুনর্নির্দেশ। এটি উপস্থিত না থাকলে ফাইল তৈরি করে বা এটি ইতিমধ্যে উপস্থিত থাকলে, লেখার আগে ফাইলটি কেটে দেয়। ফাইলটি stdout দিয়ে ওভাররাইট করা হবে।

  • >>একটি ফাইল বর্ণনাকারী সংযোজন। এটি উপস্থিত না থাকলে ফাইলটি তৈরি করে।

আপনি স্টাডারকে একইরকম ফ্যাশন ব্যবহার করে 2>বা পুনর্নির্দেশ করতে পারেন 2>>। অথবা আপনি স্টাডার এবং স্টডআউটকে একটি ফাইলে একত্রিত করতে পারেন: 2>&1এটি করে। পুনঃনির্দেশ সম্পর্কে আরও তথ্যের জন্য এবং আরও কয়েকটি উদাহরণের জন্য, আপনি এই ছোট টিউটোরিয়ালটি পড়তে পারেন ।

শেল কোডের একটি নির্দিষ্ট টুকরোটির অর্থ কীভাবে আমি বুঝতে পারি?

সাধারণত, আপনি ব্যাখ্যা শেল ডট কম চেষ্টা করতে পারেন , যা আপনাকে একটি নির্দিষ্ট শেল কমান্ড সম্পর্কে চাক্ষুষ নির্দেশনা এবং তথ্য দেবে।


7

জন্য TLDR মানুষ শুধু একটি উদাহরণ দেখতে চান যারা;

>> এর আগে কমান্ডের স্ট্যান্ডার্ড আউটপুট (ত্রুটি নয়) এর নামের শেষে ফাইলটির শেষে যুক্ত হবে।

সুতরাং যদি "flintstones.txt" ফাইল থাকে;

Fred
Barney

echo Dino >> flintstones.txt ফাইলের শেষে 'ডাইনো' যুক্ত হওয়ার ফলস্বরূপ;

Fred
Barney
Dino

আমি আপনাকে প্রস্তাব দিচ্ছি যে echo Dino > flintstones.txtএর লিখিত সামগ্রীগুলিকে Dinoএকক ডান তীরের সাহায্যে করা সহজভাবে প্রদর্শিত হবে show
জ্যাকগল্ড

-2

আবার, আপনি যদি

> somefile.txt

ফাইলটির সম্পূর্ণ সামগ্রী সাফ হয়ে যাবে।


কেন আপনি অন্য উত্তর অনুলিপি করছেন?
টোটো

@ টোটো আমি মনে করি না তিনি করেন। এটি অ্যাডিশনাল এবং খুব মূল্যবান বলে মনে হচ্ছে।
ভোলকার সিগেল

@ টোটো উফ! কাছাকাছি তাকান, এটি আসলে ঘটনা নয়। একাধিক দিক থেকেও ভুল। অদ্ভুত - তিনি এখানে নতুন, তবে অন্য কোথাও সক্রিয় - তাই সম্ভবত কেবল ট্রলিং নয়।
ভোলকার সিগেল

2
@ ভোলকারসিগেল: > fileফাইলটি সাফ করে তবে >> fileকিছুই করে না।
টোটো

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