ব্যাচ ফাইল বা কমান্ড প্রম্পটে "<<" কীভাবে ব্যবহার করবেন?


13

আমি জানি কী >>জন্য ব্যবহার করা হয়, এটি স্ক্রিনের পরিবর্তে সমস্ত বার্তা একটি ফাইলে লিখে দেয়। এবং আমি অনুমান <<করি যে বিপরীত হবে, আমি এটি চেষ্টা করে একটি বার্তা পেয়েছি:<< was unexpected at this time.

কি জন্য <<ব্যবহার করা হয় এবং কিভাবে ব্যবহার করবেন দয়া করে আমাকে বলুন ।

উত্তর:


17

সাধারণ Windows কমান্ড শেল - cmd.exe- ব্যবহার করে না <<অপারেটর এ সব

একটি একক <মানে " স্ট্যান্ডার্ড ইনপুট ফাইলটি পড়ুন " cmd.exe, তবে দুটি <অক্ষর পিছনে থেকে অর্থহীন cmd.exe, তাই এটি আপনার ত্রুটিটি দেয়।

<<অপারেটর হয় সব প্রধান প্রকারের অর্থপূর্ণ ইউনিক্স কমান্ড শেল , যেখানে এটি জন্য ব্যবহার করা হয় এখানে-দস্তাবেজ : ² এর

$ some-command <<END
blah blah blah
blah blah
blah blah blah blah blah
END

এই তিনটি লাইন some-commandএর মান ইনপুটতে প্রেরণ করা হবে।

<অপারেটরের সাথে আপনার যেমন দরকার তেমন কোনও ফাইলকে প্রথমে কোনও লিখিত না লিখে কমান্ডে প্রচুর পাঠ্য প্রেরণের জন্য এটি দরকারী । আমি প্রায়শই এটি কোনও স্ক্রিপ্টে "ব্যবহার" বার্তা এম্বেড করতে ব্যবহার করি:

#!/bin/sh
if [ -z "$1" ]
then
    cat <<USAGE
usage: myscript <files...>

     Grobbles the foobie for all files given on the command line.

USAGE

    exit 1
fi

# ... do something with command line arguments

এটি গুচ্ছ echoবিবৃতি লেখার চেয়ে ভাল, যেহেতু হেরডোক পাঠ্যটি স্ক্রিনে প্রিন্ট করার মতো হ'ল বিন্যাসিত হয়। তদ্ব্যতীত, এই প্রসঙ্গে সাদা স্থান, উদ্ধৃতি, পুনর্নির্দেশ এবং ভেরিয়েবল ইন্টারপোলেশন নিয়ে কাজ করা আরও সহজ। লক্ষ করুন, উদাহরণস্বরূপ, আমি শেলগুলি I / O পুনঃনির্দেশের জন্য ব্যবহারের চেষ্টা থেকে বিরত রাখতে কোনও চালাক কাজ না করে ব্যবহার বার্তায় কোণ বন্ধনী ব্যবহার করেছি।

আপনি যদি উইন্ডোজে এ জাতীয় কিছু করতে চান তবে আপনি সাইগউইন ইনস্টল করতে পারেন এবং এর একটি শেল ব্যবহার করতে পারেন। আপনি যদি উইন্ডোজ 10 এ থাকেন তবে পরিবর্তে আপনি ডাব্লুএসএল ব্যবহার করতে পারেন ।


পাদটিকা:

  1. এই লিঙ্কটি সংরক্ষণাগারযুক্ত উইন্ডোজ এক্সপি ডকুমেন্টেশন ট্রিতে যায়। মাইক্রোসফ্ট যখন এই ডক্সটি সংরক্ষণাগারভুক্ত করার আগে আমি ব্যবহার করছিলাম তখন তার লিঙ্কটি ভেঙে ফেলেছিল, তাই যদি তারা এটি আবারও ভেঙে দেয়, তবে এখানে একটি ব্যাকআপ তৃতীয় পক্ষের রেফারেন্স রয়েছে।

    cmd.exeমাইক্রোসফট.কম- এ কেবলমাত্র অন্যান্য রেফারেন্স উপাদানই আমি জানলাম উইন্ডোজ কমান্ড পিডিএফ (৪.৯ এমবি, ৯৪৮ পৃষ্ঠাগুলি) যা বিল্ট-ইন এবং মাইক্রোসফ্ট-সরবরাহিত বাহ্যিক কমান্ডগুলির বেশিরভাগ (!) জন্য একটি রেফারেন্স সরবরাহ করার চেয়ে সামান্য কিছু করে না আপনি cmdপ্রম্পটে দিতে পারেন । এই পিডিএফ দুটি বেসে অসম্পূর্ণ। প্রথম এবং এখানে সবচেয়ে প্রাসঙ্গিক, cmd.exeশেলটিতে পুনর্নির্দেশটি কীভাবে কাজ করে তা নিয়ে কোনও মিলিত আলোচনা নেই ; এমনকি শেল ব্যাকরণ নিয়েও আলোচনা নেই। দ্বিতীয়ত, পিডিএফ এর কমান্ড তালিকা অসম্পূর্ণ: প্রথম জিনিস আমি চেক করতে ঘটেছিল আবৃত নয়: diskpart

    আমি বিশ্বাস করি যে এই সমস্ত কিছুই মাইক্রোসফ্টের পাওয়ারশেলেরcmd.exe সাথে প্রতিস্থাপনের স্পষ্ট প্রচেষ্টা থেকে অনুসরণ করা হয়েছে, যা বহু বছর ধরে চলছে। এই লেখার হিসাবে সাম্প্রতিক উইন্ডোজ 10 আপডেটে, তারা এখনও অস্তিত্বটি গোপন করার জন্য আরও পদক্ষেপ নিয়েছে , যদিও এটি এখনও সম্পূর্ণভাবে যায়নি।cmd.exe

    এটি লক্ষণীয় যে পাওয়ারশেল কোনও <<পুনর্নির্দেশ অপারেটরকে সমর্থন করে না । না - উভয় ইউনিক্স শেল এবং থেকে একটি দু: খজনক রিগ্রেশন cmd.exe- এটি <পুনঃনির্দেশ সমর্থন করে !

  2. এখানে-নথিটি শুরু করার ক্যানোনিকাল উপায়টি হ'ল আমি এটি উপরে লিখেছি যেমন <<এবং ডিলিমেটার শব্দের মধ্যে কোনও স্থান নেই । আমার अस्पष्ट স্মৃতিশক্তি হ'ল আমি শেল স্ক্রিপ্টগুলিতে দেখেছি এখানে-নথিগুলির সমস্ত ব্যবহারও এইভাবে করা হয়। এখানে-নথির জন্য পসিক্স স্পেসিফিকেশনও এর উদাহরণগুলিতে এই স্টাইলটি ব্যবহার করে।

    তবে, POSIX.1-2-2008 স্পেসিফিকেশনের অন্যান্য অংশগুলির যত্ন সহকারে পড়া থেকে জানা যায় যে <<এবং ডিলিমিটার শব্দের মধ্যে কিছু সংখ্যক স্থান বা ট্যাব অক্ষর রাখা বৈধ । বিশেষ করে, দেখতে টোকেন স্বীকৃতি নিয়ম 7 এবং 10 , সংজ্ঞা io_hereমধ্যে শেল ব্যাকরণ , এবং সংজ্ঞা "ফাঁকা" চরিত্র শ্রেণী

    এভাবে আপনি শেল ডকুমেন্ট করেন। মাইক্রোসফ্ট নোট নিন। ;)

    বাশ 4 এ এখানে পরীক্ষা করা এবং ksh93এটি প্রত্যাশার মতো কাজ করে তা নিশ্চিত করে।


এটি নিজের চেয়ে ভাল বলতে পারত না। আমি সাইগউইনকে উল্লেখ না করতাম কারণ উইন্ডোজ এবং ইউনিক্সের সাথে আপনি যেগুলি করেন তার কিছু আছে। ক্রস সামঞ্জস্যের অনেক আছে হ্যাঁ তবে আমি দৃ strongly়ভাবে কেবল সাইগউইন বা অন্যান্য বেশ কয়েকটি উইন ভিত্তিক ইউটিলিটির মতো কিছু ভার্চুয়াল কাজের চেয়ে কাঁচা ইউনিক্স শেখার পরামর্শ দেব।
বাইটিইনারি

8
@ বিটিইনারি: উইন্ডোজে ইউনিক্সের মতো কাজ করতে সক্ষম হওয়ার জন্য বিপুল সংখ্যক মানুষ প্রতিদিন সাইগউইনকে বিশেষত ব্যবহার করে তা দেখে আমি মনে করি যে উত্তরটি আমি এই ইঙ্গিতটি রেখে দেব।
ওয়ারেন ইয়ং

হ্যাঁ, আমি সত্যতাটি সাইগউইনকে হ্রাস করতে চাইছি না, জাহান্নাম আমি এখন এবং পরে এটি জাগতিক কাজের জন্য ব্যবহার করি। আমি কেবলমাত্র আমার দুটি সেন্টগুলিতে রাখছি যা আসল জিনিসটি বুট করছে এবং এটি শিখছে (বিশেষত নতুনদের জন্য) 3 য় পক্ষ বা সম্পূর্ণ ভিন্ন ওএসের সাথে মানিয়ে নিতে হবে এমন একটি আসল স্পিনের চেয়ে ভাল of আমি কেবল বলতে চাই যে সাইগউইন সেটআপ করতে যত সময় লাগে, সমস্ত অন্তর্ভুক্ত মডিউলগুলি নির্দিষ্ট করে + এটি ব্যবহার শুরু করুন, আপনি আসল জিনিসটিতে অনেক কিছু শিখতে পারতেন। আমার মনে হচ্ছে সাইগউইন আপনি যা করেন তা করার পরে আপনি কেবল এটি পুনরায় চালু করতে চান না
বাইটিনিয়ারি

নীট: (ইউনিক্স) হেরডোক পুনঃনির্দেশ এবং পাইপকে স্বীকৃতি দেয় না, তবে ডিফল্টরূপে প্যারামিটার / ভেরিয়েবল প্রতিস্থাপন এবং প্রক্রিয়া প্রতিস্থাপন (উভয় ডলার-পেরেন এবং ব্যাকটিকস সিনট্যাক্স) স্বীকৃতি দেয়; কমান্ড লাইনের ডিলিমিটার শব্দটি ডেটা বা উদ্ধৃতিতে (কমপক্ষে একটি চর) এর ব্যবহার ব্যাকস্ল্যাশ দমন করতে।
dave_thompson_085


4

> একটি নতুন ফাইল লিখুন।

>> একটি ফাইল সংযোজন

< একটি ফাইল থেকে পড়া

| অন্য কমান্ডের ইনপুটটিতে একটি কমান্ড আউটপুট প্রেরণ করে

একটি তালিকার জন্য এখানে দেখুন একটি % উইন্ডোজ ইস্টার ডিমের সাথে cmd.exe টাইপ করছেন?

যেহেতু পোস্ট করা হয়েছিল এটি যুক্ত করা হয়েছে।

Starting a Program
===============

See start /? and call /? for help on all three ways.

Specify a program name
--------------------------------

    c:\windows\notepad.exe

In a batch file the batch will wait for the program to exit. When
typed the command prompt does not wait for graphical
programs to exit.

If the program is a batch file control is transferred and the rest of the calling batch file is not executed.

Use Start command
--------------------------

    start "" c:\windows\notepad.exe

Start starts a program and does not wait. Console programs start in a new window. Using the /b switch forces console programs into the same window, which negates the main purpose of Start.

Start uses the Windows graphical shell - same as typing in WinKey + R (Run dialog). Try 

    start shell:cache

Use Call command
-------------------------

Call is used to start batch files and wait for them to exit and continue the current batch file.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.