>> [সেমিনার - ইউনিক্স শেল, এনভায়রনমেন্ট]
[ডগলাস ক্লাইন - হার্ভার্ড বিশ্ববিদ্যালয়]
[এটি CS50. - CS50.TV]
>> আজকের বিষয় ইউনিক্স শেল হয়.
আমি ডগলাস ক্লাইন, বিশেষজ্ঞ, অথবা শেল অন্তত যুক্তিসঙ্গতভাবে উপযুক্ত ব্যবহারকারী, করছি.
একটি শেল কম্পিউটারের অপারেটিং সিস্টেম ব্যবহারকারীর জন্য ইন্টারফেস.
নাম, একটি প্রাণী এর শেল থেকে ভিন্ন, হিসাবে বিভ্রান্তিকর
হার্ড এবং প্রতিরক্ষামূলক, যা কম্পিউটার শেল যোগাযোগের জন্য করতে পারবেন.
সুতরাং বহুরন্ধ্র ঝিল্লি সম্ভবত একটি ভাল রূপক হবে.
>> ইউনিক্স জন্য মূল শেল বোর্ন শেল না.
বোর্ন বি হে-U-r-n-ই বানান.
বোর্ন, ইউনিক্স এর মূল লেখক এক
এবং তাই শেল তাকে নামকরণ করা হয়.
একটি কমান্ড হিসেবে যে শেল নামে শুধু শুধু SH হয়.
তার মানে আপনি নির্বাহ করতে পারেন কমান্ড এর.
শেল লগইন আরম্ভ করা হয়.
আপনি কম্পিউটারে লগ ইন করা হলে, শেল মাত্র, আপনার জন্য চলমান শুরু হয়
এবং যে আপনার কমান্ড লাগে কি.
এটি অন্য সময়ে শুরু করতে পারেন.
আপনি অন্য কোন ইঙ্গিত সঙ্গে একটি উইন্ডো আসা, এটা আপনার জন্য একটি শেল শুরু হবে.
যে এটি আপনি একটি উইন্ডোতে গিয়ে কমান্ড টাইপ শুরু করতে পারেন কিভাবে
এবং তাই ঘোষণা আছে ঐ উইন্ডোটির লগ ইন করা হয়নি যদিও.
উপরন্তু, আপনি একটি দূরবর্তী লগইন করতে হলে,
তারপর এটি দূরবর্তী কম্পিউটারে শেল শুরু হবে.
এবং এটি একটি ইন্টারেক্টিভ শেল ছাড়া কমান্ড চালানো সম্ভব.
যে আপনার বর্তমান অপারেশন মধ্যে অর্থ করতে পারেন,
এবং এটি একটি দূরবর্তী অপারেশন অর্থ করতে পারেন.
আপনি অন্য একটি কম্পিউটারে একটি কমান্ড পাঠাতে পারে,
যা সেখানে একটি শেল আপ শুরু অন্তর্ভুক্ত.
বস্তুত, এটা সেখানে একটি শেল আপ শুরু অন্তর্ভুক্ত হয়েছে
যে আপনার চূড়ান্ত উদ্দেশ্য হল না, এমনকি যদি.
কিছু ভালো আপ শুরু হয়, এটি অগত্যা একটি নতুন শেল আরম্ভ করা হয় না.
যদি আপনি একটি নতুন উইন্ডো আসা, এটি একটি এডিটর আসা তা বলা সম্ভব
অথবা অন্য কমান্ড.
সেই ক্ষেত্রে, সম্পাদক গোড়া থেকে শুরু হবে.
সম্পাদক শেষ হলে, উইন্ডো শেষ হয়.
এই একটু অস্বাভাবিক কিন্তু এটি করা সম্ভব.
সেই ক্ষেত্রে, এটি একটি শেল হবে না.
সুতরাং এটি অগত্যা একটি উইন্ডো অথবা কিছু যেমন আবেদন একটি শেল আপ আনতে হবে যে কেস না.
>> শেল কমান্ড parses.
পার্সিং বিভিন্ন উপাদান চিহ্নিত এবং তাদের classifying মানে.
একটি কমান্ড মধ্যে, আপনি টাইপ যে সম্পূর্ণ পংক্তি,
মৃত্যুদন্ড কার্যকর করার 1 বা একাধিক একক কমান্ড থাকবে.
অন্যান্য উপাদানের আর্গুমেন্ট হতে পারে.
এছাড়াও একটি কমান্ড সঞ্চালনের প্রভাবিত যা বিশেষ অক্ষর পর্যন্ত হতে পারে.
তারা পর্দা আর কোথাও অন্য আউটপুট পাঠাতে পারেন
কমান্ড সচরাচর পর্দা এটা পাঠান হবে.
এটা ইনপুট পুনর্নির্দেশ করতে পারেন; এটা অন্য জিনিস করতে পারেন.
তাই ঘোষণা অন্যান্য বিভিন্ন চিহ্ন, অক্ষর, এবং আছে.
পার্সিং সেগুলো detecting এবং দোভাষী জড়িত থাকে.
>> এখন আর কোন মানুষ আছে, যেহেতু বরং সম্ভবত যা কোন প্রশ্ন আছে, যদি,
আমরা এখানে আমার পরের পৃষ্ঠায় যেতে হবে.
>> আমি বোর্ন শেল প্রাথমিক শেল যে তার আগে বলেন.
অন্যদের আছে.
এক সি শেল হয়. কমান্ড csh হয়.
নাম সি শেল শব্দের উপর শুধুমাত্র একটি খেলা.
এই শেল মধ্য 1970 সালে বার্কলে ইউনিক্স সাথে চালু হয়.
বার্কলে ইউনিক্স ইউনিক্স বিকাশে একটি ধাতুগত ঘটনা ছিল.
এটা একটা বিশাল বিপ্লব ছিল এবং এই শেল প্রবর্তনের অন্তর্ভুক্ত.
শব্দের উপর যে খেলার জন্য কারণ, সি শেল,
, সি শেল সি ভাষা অনুরূপ যা তা কিছু বৈশিষ্ট্য আছে
যা বোর্ন শেল তা নয় -
অথবা এটি যে সময়ে ছিল না.
TC-শেল এর রয়েছে.
এই সি শেল এর একটি সুপারসেট হয়.
এটা, ইন্টারেক্টিভ ব্যবহারের জন্য দরকারী যা অনেক অতিরিক্ত বৈশিষ্ট্য, রয়েছে
যেমন, ইতিহাস প্রক্রিয়া মধ্যে কমান্ড recalling হিসাবে
আমি কিছুটা পরে বর্ণনা করব যা -
একটি সহজ পদ্ধতিতে, একটি এডিটর পরে স্থাপিত.
এছাড়াও আপনি একটি লম্বা কমান্ডের একটি ছোট কী স্ট্রিং আবদ্ধ করার অনুমতি দেয় যা বাইন্ডিং আছে.
আমরা আজ যে মধ্যে পেয়ে যেতে যাচ্ছেন না.
এটা প্রোগ্রামিং জন্য দরকারী কিছু বৈশিষ্ট্য আছে.
তবে, সি শেল প্রায়ই শেল প্রোগ্রামিং জন্য ব্যবহার করা হয় না.
শেল প্রোগ্রাম, আপনি ইতিমধ্যে জানেন না হলে,
শেল বৈশিষ্ট্য গঠিত যে প্রোগ্রাম হয়.
আপনি প্রোগ্রাম হিসেবে এইসব চালানো হবে.
আপনি একটি ফাইলে শেল কমান্ড একটি গুচ্ছ লিখুন এবং ফাইল চালানো.
আপনি এটা কম্পাইল করার প্রয়োজন হবে না. এটি একটি ব্যাখ্যামূলক ভাষা.
এটি মূল সি শেল, csh একমাত্র পড়ুন পারে যেহেতু ফ্রেজ সি শেল, এখন দ্ব্যর্থক হয়
অথবা tcsh সহ সব সি শেল, যাও. এটা একটা সামান্য দ্ব্যর্থক এর.
>> একটি পরে শেল প্রোগ্রামার নামকরণ Korn শেল, ksh,, Korn হয়.
এই শেল 1 শেলে নিগমবদ্ধ চেষ্টা
ইন্টারেক্টিভ ব্যবহারের জন্য সি শেল সুবিধার
এবং বোর্ন প্রোগ্রামিং জন্য শেল.
একটি সংখ্যালঘু - এটা কিছু মানুষ একটি ইন্টারেক্টিভ শেল হিসেবে ব্যবহার করা হয়েছে.
পরে যদিও, অন্য ভূমিকা ছিল, ব্যাশ শেল, bash,
আবার শব্দ একটি খেলা, বোর্ন আবার শেল.
এটি বোর্ন শেল একটি এক্সটেনশন এর. Korn শেল হয়. দুইটাই হয়.
এটা amalgamating এর Korn শেল একই উদ্দেশ্য আছে সি শেল এর
1 শেল এবং বোর্ন শেল এর সুফল.
Korn শেল এর উন্নত বৈশিষ্ট্য অনেক এছাড়াও ব্যাশে অন্তর্ভুক্ত করা হয়.
ব্যাশ, কিন্তু, আরো আছে এবং সেইজন্য বাঞ্ছনীয়.
বোর্ন আবার শেল এবং Korn শেল বোর্ন-টাইপ শেল বলা হয়
তারা বোর্ন শেল এর বৈশিষ্ট্য হল, কারণ,
সি শাঁস সঙ্গে কিছু ক্ষেত্রে বেমানান যা.
যারা কিছু সীমাবদ্ধ ব্যবহারের জন্য ছাড়াও অন্যান্য শাঁস আছে,
হয়তো কিছু কমান্ড সীমাবদ্ধ হয়তো, বিশেষ উদ্দেশ্যে প্রায়ই ব্যবহার করা হয় না.
>> ঠিক আছে. এখানে পরবর্তী আইটেম.
ব্যাশ শেল লিনাক্স এর বিভিন্ন ফর্ম সঙ্গে যুক্ত হয়ে উঠেছে.
আমি যে প্রত্যেক ফর্ম সত্যি যদি নিশ্চিত না.
আছে নানা রূপে আউট আছে এবং আমি তাদের সব ব্যবহার করেন নি
কিন্তু আমি ব্যবহার করেছি ঐ যে তা এর সাথে জড়িত পরিণত হয়েছে.
এ পর্যন্ত আমি জানি, ব্যাশ সম্পর্কে কিছুই নেই
লিনাক্স দিয়ে এটি কোন সামঞ্জস্যপূর্ণ যার
শেল এবং অপারেটিং সিস্টেমের অন্য কোন সমন্বয় চেয়ে.
আমি এটা সম্ভবত শুধু প্রোগ্রামারদের পক্ষপাতের প্রতিফলিত মনে করি.
এটা লিনাক্স এর সাথে জড়িত হয়ে আছে ksh যাও ব্যাশে পছন্দ করার আরেকটি কারণ যে
জিনিষ তা লেখা যেতে পারে এবং তা ছড়িয়ে সম্ভবত না.
আমি পরে আপনাকে যে জন্য অন্যান্য কারণে দেব.
বোর্ন শেল স্ক্রিপ্ট Korn শেল বা ব্যাশে অধীনে চালানো উচিত.
আপনি বোর্ন শেল জন্য কিছু লিখতে হলে,
আপনি সম্ভবত ksh বা ব্যাশ আওতায় নির্বাহ করতে পারেন.
Korn শেল স্ক্রিপ্ট সম্ভবত ব্যাশে অধীনে চালানো হবে, কিন্তু আমি যে গ্যারান্টি পারেন.
পরে এখানে, সি শেল স্ক্রিপ্ট TC-শেল অধীনে চালানো উচিত.
সি শেল আসলে ব্যাপকভাবে স্ক্রিপ্টিং জন্য ব্যবহার করা না হয়
বোর্ন শেল এবং পরে বোর্ন-টাইপ শাঁস যে উদ্দেশ্যে বাঞ্ছনীয় ছিল না.
সুতরাং যে সত্যিই সব যে গুরুত্বপূর্ণ নয়.
অনেক আগে লেখা হয়েছে যা বোর্ন শেল স্ক্রিপ্ট বেশ অনেক আছে,
Korn শেল বা বোর্ন আবার শেল আগে চালু ছিল.
সেগুলো হল, ব্যবহারে এখনও অপারেটিং সিস্টেমের অংশ,
আপনি অপারেটিং সিস্টেম দেখব এবং যদি তাই আপনি তাদের খুঁজে পেতে হবে
অথবা কিছু পুরানো প্রোগ্রামিং প্যাকেজ.
>> ব্যাশ অপারেটিং সিস্টেমের জন্য Lingua Franca এক ধরনের উঠছে কিছুটা হয়.
এটা ইতিমধ্যেই উইন্ডোজ এবং VMS বাড়ানো হয়েছে.
VMS, আপনি জানেন না ক্ষেত্রে, একটি মালিকানাধীন অপারেটিং সিস্টেম
মূলত পর্দার পিছনের, ব্যবহার এখনো যা ডিজিটাল ইকুইপমেন্ট কর্পোরেশন.
এবং এটি বিভিন্ন অপারেটিং সিস্টেমের মধ্যে চলমান করা যাচ্ছে যদি,
সম্ভবত মানুষ তার জন্য নামান ঝোঁক.
কিন্তু এই উন্নয়নের অপেক্ষাকৃত সাম্প্রতিক হয়.
এটি শুধু শুরুতে, তাই এই সত্যিই Lingua Franca তজ্জাতীয় হতে শয্যাত্যাগ হবে যদি আমি ভবিষ্যদ্বাণী করতে পারে না.
এছাড়াও, ফাইল পথটি এবং লাইব্রেরি পৃথক কারণ
এই বিভিন্ন অপারেটিং সিস্টেমের মধ্যে,
আপনি এক অপারেটিং সিস্টেমে একটি ব্যাশ স্ক্রিপ্ট লিখতে সক্ষম নাও হতে পারে
এবং তারপর অন্য এক এটি চালানোর জন্য.
আপনি বিভিন্ন ইউনিক্স, লিনাক্স মধ্যে সরিয়ে নেয়া সম্ভব হবে
ম্যাক অপারেটিং সিস্টেম অপারেটিং সিস্টেম কিন্তু অগত্যা উইন্ডোজ বা VMS করতে.
আপনি ফাইলের পাথের নাম বিবরণ পরিবর্তন করতে পারে,
এবং কিছু লাইব্রেরি আলাদা হতে পারে,
কিছু কমান্ড কাজ যে ভাবে প্রভাবিত হতে পারে যা
বা কিভাবে তারা আর্গুমেন্ট এবং মত প্রক্রিয়া.
যে ছাড়াও, এখানে অন্য সাবধানতা কোন গ্যারান্টি আছে
যে আমি উল্লেখ করেছি সব বিভিন্ন শেল - বোর্ন শেল, সি শেল,
TC-শেল, Korn শেল, বোর্ন আবার শেল - কোনো ইউনিক্স অধীন উপলব্ধ করা হবে
অথবা লিনাক্স বা ম্যাক অপারেটিং সিস্টেম কম্পিউটারে.
তারা কেবল আছে নাও হতে পারে.
অর্থাৎ এখানে সাবধানী এক.
আপনি জিনিষ সব জায়গায় কাজ করতে চাই, যেহেতু এটা এখানে একটি দু: খজনক সীমাবদ্ধতা
কিন্তু দুর্ভাগ্যবশত, আপনি যে নির্ভর করতে পারে না.
>> ঠিক আছে. এখানে পরের এক.
এর যদি আপনি একটি শেল স্ক্রিপ্ট লিখতে চান বলে যাক,
শেল কমান্ড গঠিত একটি প্রোগ্রাম.
আপনি আপনার কমান্ড লিখে একটি ফাইল তাদের করা, এবং ফাইল চালানো.
আপনি কি আর্গুমেন্ট অন্তর্ভুক্ত করতে চান?
শেল অপারেশনের ক্ষেত্রে, আর্গুমেন্ট প্যারামিটার বা অবস্থানগত পরামিতি বলা হয়
এবং তারা একটি ডলার চিহ্ন ও সংখ্যাগত, $ 1, $ 2 দ্বারা বলা হবে.
স্ক্রিপ্ট এই নাম আছে সুতরাং, যদি আমার প্রথম যুক্তি যুক্তি 1 হতে পারে
এবং আমার দ্বিতীয়, যুক্তি 2 হতে পারে
এবং আমার স্ক্রিপ্ট ভিতরে আমি এই জিনিস উল্লেখ করতে চান -
আমি সত্যিই এটি চালানোর যাচ্ছি না যেহেতু এর এই নিশ্চিহ্ন করা যাক -
আমার স্ক্রিপ্ট ভিতরে আমি arg1 পড়ুন $ 1 থাকতে পারে,
এই ভাবে, arg2 বাইরে আসতে হবে, যা $ 2,.
সুতরাং যারা চিহ্ন আর্গুমেন্ট পড়ুন পাওয়া যায়,
এবং যারা শাঁস সব ক্ষেত্রে প্রযোজ্য.
ছাড়াও, অন্য অক্ষর আছে.
$ * সম্পূর্ণ যুক্তি তালিকা, তাদের সব বোঝায়.
$ # আর্গুমেন্ট সংখ্যা বোঝায়.
আবার, এই সমস্ত শাঁস প্রযোজ্য.
যারা চিহ্ন, * এবং #, অন্যান্য জায়গায় যারা অর্থ দিয়ে ব্যবহার করা যাবে.
আমরা যে মধ্যে পেয়ে যায়নি.
>> শেল specifier লাইন. জন্য কি যে?
এর যদি আপনি একটি স্ক্রিপ্ট লিখিত করেছি এবং এটি একটি নির্দিষ্ট শেল জন্য বলতে যাক এবং আপনি এটি চালাতে চান.
আপনি কিভাবে আপনার অপারেটিং সিস্টেম আপনার স্ক্রিপ্টটি চালানোর ব্যবহার করবে মিটিয়ে কি জানেন?
এক পর্যায়ে আপনি এটি বোর্ন শেল তা চালানো হবে অনুমান করতে পারে
আপনি অন্যথায় বলে না,
কিন্তু মানুষ আর বোর্ন মধ্যে স্ক্রিপ্ট যে অনেক মিটিয়ে লেখা হয় না
এবং আপনি এমনকি আর যে নির্ভর করতে পারে না.
তাই আমরা এখানে ঠিক শেল specifier লাইন আছে.
যে ব্যাশে নির্ধারণ করা হয়.
এটি পাথের নাম, / বিন / ব্যাশ তা নির্দিষ্ট করে মনে রাখবেন.
একটি কম্পিউটার ব্যাশ শেল আছে কিন্তু বিন ডিরেক্টরির মধ্যে, / বিন, এই কাজ করবে না.
অর্থাৎ এখানে অন্য কোয়ালিফায়ার, অন্য সাবধানতা এর.
আধা কেজি সাইন মন্তব্য লাইন অক্ষর.
যে সমস্ত শাঁস প্রযোজ্য.
এখানে নির্দিষ্ট ক্ষেত্রে, #! একটি স্ক্রিপ্ট প্রারম্ভে, একটি বিশেষ কেস.
যে স্ক্রিপ্ট চালাতে যা শেল নির্দিষ্ট করে.
আমি বলার অপেক্ষা রাখে না হয়, এটি একই স্থানে / বিন নাও হতে পারে.
উপরন্তু, এখানে আরেকটি বিষয় আছে.
আপনি ঠিক কোন বিস্ময়বোধক বিন্দু এবং পাথের সাথে আধা কেজি সাইন ব্যবহার,
যে একটি সি শেল নির্দেশ উচিত.
আমি গ্যারান্টি করতে পারবে না, কারণ যাইহোক, আমি যে কাজ বলতে না
যে সবসময় কাজ করবে.
আপনি একটি সি শেল চান, এটা তাই বলে ভাল হবে.
তারপর এখানে বরং বিভ্রান্তিকর কিছু আছে.
আপনি যেমন / বিন / প্রয়াস হিসেবে শেল specifier লাইন ব্যবহার করেন
এবং যে শেল, সেখানে পাওয়া যায় না
যে বিশেষ কম্পিউটারে / বিন / ব্যাশ যেমন জিনিস আছে,
নয়তো এটি একটি ভিন্ন স্থানে কারণ এটা ব্যাশে থাকে বা না,
আপনি দৌড়ে স্ক্রিপ্ট অস্তিত্ব নেই যে আপনি কহন একটি ত্রুটি হয়ে উঠবেন.
এবং অবশ্যই আপনার স্ক্রিপ্টটি বিদ্যমান, তাই যে সমস্যা বার্তা বিভ্রান্তিকর.
অপারেটিং সিস্টেম আপনি যে ত্রুটি দেয় যে কারণে
বা, আরও সঠিকভাবে, আপনি এই দৌড়াচ্ছে যা আপনার ইন্টারেক্টিভ শেল যে ত্রুটি দেয়,
এটি স্ক্রিপ্ট নাম যা আপনি এই কমান্ড ব্যবহৃত হবে, রিপোর্ট করে.
যে কমান্ড কার্যকরভাবে স্ক্রিপ্ট নামের শেল বলা.
আপনি যে বিভ্রান্তিকর সমস্যা বার্তা পান যে যেখানে.
শেল স্ক্রিপ্ট কল আরেকটি উপায়
হিসাবে এখানে, কমান্ড লাইনে শেল নির্দিষ্ট করে না.
এটি একটি কমান্ড. এই ব্যাশে চালানো এবং তারপর ব্যাশ আমার স্ক্রিপ্ট চালাতে বলেছেন.
এটা একটি specifier লাইন উপর প্রাধান্য করা হবে,
এবং এই আপনার নানারকম পথটি জন্য উপলব্ধ করার অনুমতি বৈশিষ্ট্য আছে.
আপনি শুধু একটি কমান্ড দিতে হলে, অপারেটিং সিস্টেম যে কমান্ড জন্য চেহারা হবে
বিভিন্ন জায়গায়.
এটি পাওয়া যায়, এটা সেটা খুঁজে উচিত.
কম্পিউটার এটি অবস্থিত এর যেখানেই ব্যাশে এটি এবং এটি চালানো হবে,
তাই আপনি তা খুঁজে বের করে যেখানে বিষয়ে উদ্বিগ্ন হতে তাহলে দরকার নেই.
সম্ভাব্য অন্যান্য উদ্বেগ, এখানে আছে
সম্ভাবনা কম, যদিও সম্ভব যা ব্যাশ, অধিক 1 সংস্করণ আছে, যেমন যদি.
সুতরাং যে এই জিনিস মোকাবেলা অন্য উপায়.
Specifier লাইন কোনো শেল কল করতে পারেন.
তারা শাঁস আর অন্য জিনিস কল করতে পারেন.
আমি এখানে যে হয়েছে থেকে বেশিরভাগই স্ট্রিম এডিটর যা, কিন্তু করা হয়;
awk, যা একটি প্যাটার্ন প্রক্রিয়াজাতকরণ ভাষা;
এবং পার্ল, একটি অত্যন্ত অত্যন্ত উন্নত স্ক্রিপ্টিং ভাষা.
আপনি শুরুতে ঐ প্রোগ্রামের ইঙ্গিত একটি specifier লাইন করা,
এটি যে প্রোগ্রামের মধ্যে সরাসরি যান বদলে শেল আরম্ভ হবে.
যারা প্রোগ্রাম তাদের ক্ষমতার সীমা আছে.
পার্ল খুব সক্ষম. কিন্তু একটি এডিটর. এটা শুধু সম্পাদনা অতিক্রম জিনিস করতে পারেন.
কিন্তু এটা যে প্রোগ্রাম করা কঠিন হতে পারে.
উপরন্তু, স্ক্রিপ্ট আর্গুমেন্ট এবং উপাদান ক্ষণস্থায়ী অসম্ভব বা বিভ্রান্তিকর হয়.
সুতরাং সেই ক্ষেত্রে, awk অথবা sed সঙ্গে, এটা, অন্তত আমার অভিজ্ঞতা, এর
শেল স্ক্রিপ্ট এবং কল awk লিখতে বাঞ্ছনীয় বা শেল স্ক্রিপ্ট থেকে sed
বরং awk কলিং অথবা স্ক্রিপ্ট specifier লাইন হিসাবে sed ​​তুলনায়.
আমি আগেই বলেছি পার্ল, একটি অত্যন্ত বিচিত্র ভাষা.
আপনি পার্ল মধ্যে ইন্টারেক্টিভ কমান্ড সঞ্চালন করতে পারবেন না,
যা আপনি উন্নয়নশীল করছি যে স্ক্রিপ্টের অংশ পরীক্ষা করতে পারবেন না মানে
ইন্টারেক্টিভ তাদের চলমান দ্বারা.
তবে, এটি একটি অত্যন্ত সক্ষম ভাষা আছে
এবং একটি খুব ব্যাপকভাবে ব্যবহৃত হাতিয়ার করেছে.
যে শুধু specifier লাইন সম্পর্কে বন্ধনীসমন্বিত মন্তব্য এর সামান্য বিট.
>> সকল বা লিনাক্স অধিকাংশ ফর্ম ইন - আবার, আমি যে সব কিছু হতে পারে না -
আপনি csh টাইপ করুন এবং যদি ম্যাক OS, আপনি, tcsh পেতে
এবং আপনি টাইপ করে যদি আপনি ব্যাশে পেতে Sh.
তারা আপনাকে এই শাঁস আরো উন্নত সংস্করণ দিতে সেখানে চেষ্টা করছিলেন,
কিন্তু এই বিভ্রান্তিকর হতে পারে.
আপনি tcsh ব্যবহার করে একটি স্ক্রিপ্ট লিখতে বা কলিং যখন ব্যাশ বৈশিষ্ট্য যদি csh বা SH
এবং তারপর, tcsh বা ব্যাশ নেই যা একটি কম্পিউটারে এটি চালানোর চেষ্টা
কমান্ড আছে সেখানে যদি আপনি কিছু ত্রুটি পেতে পারে
যারা যা শাঁস চিনতে না.
উপরন্তু, আপনি আপনার কম্পিউটারে আপনার শেল আপ বলা হয়ে থাকতে পারে
SH বা csh হিসাবে এটি আহ্বান করা এবং তারপর আরো উন্নত শাঁস পেয়ে.
আপনি এমন কি আপনি যদি আরো উন্নত শেল ব্যবহার করছেন যে মনে নাও হতে পারে.
সুতরাং এই একটি সম্ভাব্য ভুল.
কিভাবে এটা, আপনি বস্তুর জীবন টাইপ করুন যদি আপনি ব্যাশে পেতে যে স্থাপন করা হয়
আপনি csh টাইপ করুন যদি আপনি tsch পেতে?
লিঙ্ক নামক এই কম্পিউটারের অনেক কিছু আছে
যা একই জিনিস পড়ুন নামের ফাইল সংযোগ করতে পারেন.
এটা হয় একই ফাইল বা যার উদ্দেশ্য অন্য ফাইল পড়ুন হল একটি ফাইল জন্য 2 নাম হতে পারে.
তারা হার্ড এবং সিম্বলিক লিঙ্ক বলা করছি. আমরা আজ আর যে মধ্যে যাওয়া হবে না.
1 ফাইল SH, 1 ফাইলের ব্যাশ - - এছাড়াও পৃথক ফাইল থাকতে পারে
কিন্তু তারা উভয় ব্যাশে চালানো.
এর পরে অন্য কোয়ালিফায়ার এখানে আছে.
আপনি এক নাম অনুসারে এই শাঁস এক আহ্বান করছি,
আপনি যদি আপনার অন্য কোন নামের দ্বারা এটি কল হিসাবে একই কার্যকারিতা পেতে চাই মনে হতে পারে.
ওহ, এটা আসলে অগত্যা সত্য নয়.
এই কমান্ড তারা বলা হয় যার দ্বারা নামের পরীক্ষা করতে পারবেন
এবং তারা, যে নামের ভিত্তিতে, ভিন্নভাবে আচরণ করতে পারেন.
একটি প্রমিত সাথে সামঞ্জস্য করার চেষ্টা বিষয়গুলো থাকতে পারে.
আপনি কিছু POSIX মান বা অন্য শুনে থাকতে পারেন,
হয়তো অন্যান্য বৈশিষ্ট্য.
এই কমান্ড লাইন আর্গুমেন্ট দ্বারা কখনও কখনও নির্বাচন করা যাবে
অথবা শেল ভেরিয়েবল নির্ধারণ করুন.
SH বা ব্যাশ হিসাবে এটি কলিং আসলে একটি ভিন্ন মৃত্যুদন্ড হতে পারে
এটা আপনার নির্বাহ করছি যে একই ফাইল এমনকি যদি.
বিবেচনা আরেকটি বিষয়, অন্য কম্পিউটার এমনকি যদি tcsh বা ব্যাশ আছে
তারা আপনার কম্পিউটারে হিসাবে তারা সংযুক্ত না হলে
আপনি একটি লিনাক্স বা ম্যাক অপারেটিং সিস্টেম কম্পিউটারে আছে,
তারপর আবার আপনি SH বা csh কল যে শেল, না আপনি পছন্দ হতে পারে যে এক হয়ে উঠবেন.
বর্তমান বোর্ন শেল ক্ষুদ্রতর ব্যাশ মধ্যে তুলনায় উন্নত বৈশিষ্ট্য আছে
কিন্তু মূল বোর্ন শেল যারা অতীত.
যে এর ফলে, এমনকি বর্তমান বোর্ন শেল, SH,
এটা ব্যাশ না এমনকি যখন, সি শেল আছে আর সি ভাষা আরো বর্ণনার অনুরূপ.
যে সি শেল প্রথম তৈরি হয় যখন সত্য ছিল না, কিন্তু এটা যে ভাবে করেছে.
আপনি এখানে লক্ষ্য করা হতে পারে যে বোর্ন শেল ছাড়া সব এই শেল নাম সমূহ
csh, ব্যাশ - - তারা যা শেল ইঙ্গিত কিছু আছে
কিন্তু বোর্ন শেল মাত্র SH হয়.
কেন? যে মূল শেল ছিল.
এটি তারপর, শেল, না একটি শেল ছিল
এটি শেল থেকে এবং অন্য শেল থেকে আলাদা কোনো কারণ ছিল না.
এটা যে নাম আছে এবং এখনও আছে সুতরাং যে কেন.
>> এখানে এই উপরে আমি সেখানে আছে একটি অ্যাকাউন্টের জন্য একটি পাসওয়ার্ড ডাটাবেস থেকে একটি লাইন
অন্য কম্পিউটারে.
আমি আপনাকে, শেষে শেল যে অংশ দেখতে পারেন, তাই যে নাম পেতে চেষ্টা যাচ্ছি.
পাসওয়ার্ড ডাটাবেস সকল ব্যবহারকারীর জন্য লগইন বৈশিষ্ট্য ঝুলিতে.
শুরুতে আপনি এখন খনি গত 2 অক্ষর দেখতে পারেন যা আপনার ব্যবহাকারীর নাম, না.
এখানে ক্ষেত্র কোলন দ্বারা পৃথক করা হয়.
গত ক্ষেত্র, আপনি দেখতে পারেন, বিন / tcsh, শেল হল.
যে শেল specifier এর.
এখানে আকর্ষণীয় কিছু নেই.
ইউনিক্স প্রথম উন্নত ছিল, তখন মাত্র 1 শেল ছিল,
তাই সেখানে কোন উপায় ছিল না.
সুতরাং কেন তারা পাসওয়ার্ড ডাটাবেসের মধ্যে একটি ক্ষেত্র শেল উল্লেখ করা সম্ভব হয়নি?
আমি জানি না, কিন্তু এটা তারা করেনি যে সৌভাগ্যবান না.
এটি পাসওয়ার্ড ডাটাবেস বিন্যাসে পরিবর্তন করার জন্য বরং কঠিন
অনেক প্রোগ্রাম এর বিন্যাসে পড়ুন কারণ
এবং পুনরায় লেখা হবে.
এটা তারা যে ক্ষেত্র অন্তর্ভুক্ত একটি সফলকাম বা আধিদৈবিক উন্নয়নের জন্য.
একটি পাসওয়ার্ড ফাইল লাইনের যে ধরনের এ পর্যন্ত আমি জানি সব ইউনিক্স এবং লিনাক্স কম্পিউটারে ব্যবহার করা হয়.
ম্যাক নিজস্ব সিস্টেম আছে.
এটা আসলে, যে ফরম্যাটে লাইন একটি পাসওয়ার্ড ফাইল আছে
ব্যবহারকারীর বৈশিষ্ট্য নির্ধারিত হয় কিন্তু যে হয় না.
সেখানে আরেকটি বন্ধনীসমন্বিত লক্ষ্য.
আপনি একটি শেল আহ্বান করছি >>, আপনি আপনার বর্তমান শেল এর একটি সাব - শেল হিসাবে এটি কল করতে পারেন.
তাই আমি এখানে যান, এর এই জিনিস পরিত্রাণ পেতে.
এখানে আমি সি শেল মধ্যে আছি.
সঠিকভাবে আমার শেল চিহ্নিত যা যে পরিবর্তনশীল,,
আসলে সবসময় আপনার চালাচ্ছেন মিটিয়ে কি নির্ণয় একটি নির্ভরযোগ্য ভাবে নয়,
কিন্তু এই ক্ষেত্রে এটা.
কি আমি ঠিক টাইপ করুন, যদি -
এখন আমি ব্যাশে আছি.
কিছু জিনিস একই হতে যাচ্ছে. ম আমার আমার কমান্ড বলে.
আমি ফিরে আমার সি শেল, ম, একই যাও স্থগিত থাকে. রাইট?
FG, পুরোভূমি ফিরে আমার ব্যাশ শেল.
ফিরে সি শেল PWD, বর্তমান ডিরেক্টরির.
PWD, বিভিন্ন ডিরেক্টরিতে - এই ক্ষেত্রে আসলে একটি ভিন্ন ডিরেক্টরিতে.
এটা একই ডিরেক্টরির জন্য.
এর আমি এখানে একটি কমান্ড কল করতে চান বলে যাক: যেখানে ম.
যে কী কাজ করে?
Ls কমান্ড যেখানে এটা আমাকে বলে
আমাকে একটি ডিরেক্টরি তালিকা দেয় যে এক, ম অবস্থিত.
এর পিছনে ব্যাশ শেল করতে যাওয়া যাক. এর একই জিনিস চেষ্টা করুন.
হুম, মজার আছে, যেখানে: কমান্ড খুঁজে পাওয়া যায় না.
কেন হল?
যেখানে কমান্ড সি শেল মধ্যে নির্মিত হয়.
এই অন্য কোথাও থেকে মেমরি পড়া এবং মৃত্যুদন্ড কার্যকর করা হয়েছে যে একটি কমান্ড না.
সি শেল নিজস্ব কোড অংশ করতে সঞ্চালনের হস্তান্তর করে এটি সঞ্চালিত হয়
এবং এটি ব্যাশ শেলের না.
সুতরাং ব্যাশ, যেমন একটি বিল্ট ইন কমান্ড হচ্ছে না, এটা, সেটা খুঁজে না জন্য দেখে মনে হচ্ছে,
এবং আমরা একটি ভুল পান.
তাই সেখানে আমরা একটি সি শেল অধীনে চলমান একটি ব্যাশ শেল আছে, এবং আমরা একটি সাব - শেল কল.
এবং শুধুমাত্র আপনি জানতে আগ্রহী ক্ষেত্রে, ব্যাশ শেল কমান্ড লোকেটিং নিজস্ব উপায় আছে.
কুচি - কুচি করিয়া কাটা বস্তু, এটি আরো দ্রুত মৃত্যুদন্ড কার্যকর করা যেতে পারে যে বোঝায়
আরো দ্রুত পাওয়া হচ্ছে.
যে এই শাঁস কিছু সালে নির্মিত উন্নত বৈশিষ্ট্য এক.
>> বোর্ন-টাইপ শেল প্রোগ্রামিং জন্য পছন্দ হয়.
তারা loops, শর্তাধীন বিবৃতি মত নিয়ন্ত্রণ কাঠামো আছে
আপনি সি এর মত প্রোগ্রামিং ভাষায় ব্যবহার হতে পারে যে কমান্ড সাজানোর
বা যাই হোক না কেন ভাষা. হতে পারে আপনি জাভা প্রোগ্রামিং বা যাই হোক না কেন করছেন.
শাঁস যারা খুব আছে.
বোর্ন-টাইপ শাঁস, বিশেষ ব্যাশ, আরো আছে
এবং তারা বেশী নমনীয়তা সঙ্গে ডিজাইন করা হয়.
ব্যাশ শেল অ্যারে আছে. মূল বোর্ন শেল না.
সুতরাং যে প্রোগ্রামিং জন্য যথেষ্ট সুবিধাজনক হতে পারে.
সি শেল আসলে অ্যারে আছে কিন্তু এই অন্যান্য বৈশিষ্ট্য অনেকটা তা নয়.
বোর্ন-টাইপ শাঁস দ্রুত চালানো হবে
তারা ইন্টারেক্টিভ ব্যবহারের জন্য বৈশিষ্ট্য না থাকে.
আপনি একটি কাজের জন্য জিনিস ডাউন লোড; এই অন্য উদ্দেশ্যে তাদের ডাউন লোড করা হয়.
সেখানে যে ট্রেড বন্ধ আছে.
ইন্টারেক্টিভ ব্যবহারের জন্য যা যারা বৈশিষ্ট্য
সত্যিই স্ক্রিপ্টিং জন্য সামান্য বা কোনো ব্যবহার হয়.
এটা ঠিক আমি সেখানে শুরু এক মত একটি ইন্টারেক্টিভ উপ - শেল ব্যবহার সম্ভব
আপনি একটি স্ক্রিপ্টের মধ্যে ব্যবহার করতে চান যা কমান্ড পরীক্ষা আউট.
তার মানে আপনি পার্ল সঙ্গে ব্যবহার করতে পারবেন না কি. আপনি শাঁস সঙ্গে এটা করতে পারেন.
তাই ঘোষণা loops এবং জন্য মত এমনকি কাঠামো ইন্টারেক্টিভ চালানো যেতে পারে.
তারা ইন্টারেক্টিভ চালানোর মাঝে মাঝে দরকারী
কিন্তু সম্ভবত আপনি একটি স্ক্রিপ্ট বিকাশ তাদের ব্যবহার করছেন.
>> উপনামগুলো.
এই সি শেল সম্পর্কে হতে যাচ্ছে.
আপনি ফিরে আগে কমান্ড পেতে যেখানে ইতিহাস প্রক্রিয়া
অথবা যদি আপনি ইতিমধ্যে তাদের অংশের রান করেছি.
আবার, সি শেল সম্পর্কে, বোর্ন শেল এবং Korn শেল, এই জিনিস আছে
কিন্তু আমি তাদের মধ্যে পেতে যাচ্ছি না.
তাই এখানে আমি যে কিছু দরকারী alias লেখা রয়েছে.
পরিবর্তে ম টাইপ - এটি একটি সাধারণ কমান্ড এর -
শুধু ঠ টাইপ করুন এবং নিজেকে 1 চরিত্র সংরক্ষণ করুন.
বিভিন্ন বিকল্প সহ ম, ঐ সমস্ত কাজ.
যারা সংজ্ঞা তাদের চারপাশে কোট আছে উল্লেখ্য.
এই পরিস্থিতিতে, কোট প্রয়োজন হয় না.
আপনি মূল্য উদ্ধৃতি ছাড়া যারা alias লেখা নির্ধারণ করতে পারবেন, এটা এখনও কাজ করবে.
তারা সুপারিশ করা হয়.
আপনি উদ্ধৃতি ব্যবহার করতে পারবেন না যা পরিস্থিতিতে আছে
আপনি মূল্যউদ্ধৃতি প্রতিরোধ করবে যা ঘটতে কিছু করতে চান না.
কোন কোন সময় আপনাকে সংজ্ঞা অংশ উদ্ধৃত কিন্তু সব না এটা করতে পারেন.
এটি সাধারণত একক উদ্ধৃতি চিহ্ন বদলে উদ্ধৃতি চিহ্ন ব্যবহার করা বাঞ্ছনীয় এর.
ডাবল কোট পরিবর্তনশীল সংজ্ঞা উপর প্রভাব আছে,
বিশেষ করে তাদের বরং এটি বাঁধন আর মূল্যায়ন করা হবে যার ফলে.
কেন আমরা মূল্যায়ন থামাতে চায়?
আর কোট যে আমাদের জন্য কত করবেন?
>> এখানে আপনি আকর্ষণীয় খুঁজে পেতে পারে, যা একটি কমান্ড.
'ম ছ *'
ছ *, সম্ভবত আপনি কি জানেন, একটি ওয়াইল্ডকার্ড অভিব্যক্তি
ছ প্রারম্ভে সব ফাইল নাম জন্য.
আমি শুধু একটি কমান্ড ম ছ * লিখতে, আমি আমার বর্তমান ডিরেক্টরির মধ্যে সমস্ত নামের একটি তালিকা পাবেন.
এটা কোট সঙ্গে এখানে হিসাবে আমি যে ওরফে সংজ্ঞায়িত যদি
এটা যদি আপনি এটি চালাচ্ছেন যেখানে আপনার বর্তমান ডিরেক্টরির মধ্যে যে কমান্ড চালানো হবে.
কিন্তু আপনি মূল্য উদ্ধৃতি ছাড়া ওরফে সংজ্ঞা চালানো,
এটা এই সংজ্ঞা কমান্ড রান যখন এটি ওয়াইল্ডকার্ড ছ * নির্ণয় করা হবে.
সুতরাং ওরফে সংজ্ঞা ম ডিরেক্টরির মধ্যে উপস্থিত ফাইলের তালিকা অনুসরণ করা হবে
ওরফে কমান্ড মৃত্যুদন্ড কার্যকর করা হয় যা,
নির্বিশেষে আপনি আসলে কমান্ড চালানোর জন্য মনস্থ যেখানে.
এই অনেক ব্যবহার হয় না, এবং একক উদ্ধৃতি চিহ্ন তারকা মূল্যায়ন রোধ.
তাই আপনি শুধু * সংজ্ঞা হচ্ছে ম ছ পেতে.
আপনি ওরফে চালানো তারপর, যখন lgs, তাহলে যে রাখে.
এখন কোন মূল্য উদ্ধৃতি, এবং আপনি ওরফে কমান্ড চালানো হলে এটা তারকা নির্ণয় করবে.
সুতরাং যে এক জিনিস.
ডাবল কোট, এখানে যে একই প্রভাব সৃষ্টি করবে
কিন্তু উদ্ধৃতি চিহ্ন তাই ভাল কাজ না করে যা অন্যান্য ক্ষেত্রে আছে.
>> এখানে অন্য এক.
আপনি grep কমান্ডের জানতে পারে.
grep কমান্ডের সাহায্যে নির্দিষ্ট স্ট্রিং আছে যা লাইনের জন্য একটি ফাইল স্ক্যান করা যাবে.
সুতরাং আসুন এখানে উপর ছেড়ে দেওয়া এবং আমি আমার বোর্ন শেল থেকে প্রস্থান করব.
ঠিক আছে. এখানে একটি ফাইল আছে.
এর এটি grep এবিসি স্ট্রিং বলতে দিন. এটা এখন পর্যন্ত.
আমি grep zddd না, আমি কিছুই পাবেন. ঠিক আছে.
সুতরাং এটি রিপোর্ট, একটি স্ট্রিং খুঁজে বের করে; সেটা খুঁজে না, এটা বিষয়ে রিপোর্ট করে না.
এটা এটা যে স্ট্রিং আছে যা কোন লাইন আউটপুট.
আপনি ডকুমেন্টেশন পেতে পারেন যা এখানে অপশনের সমস্ত প্রকারের আছে.
এখানে এটা করতে এক উপায়.
কি এই এক, ওরফে grabc 'grep এবিসি' সম্পর্কে কি?
ওরফে সংজ্ঞায়িত করা হয় যখন 1 যুক্তি অন্তর্ভুক্ত যাচ্ছে.
তাই আমি যদি এখানে যে, এখন আমি grabc না,
এখন ওরফে সহজ কমান্ড বেশী রয়েছে. এটা যুক্তি আছে.
এ পর্যন্ত যে কাজ করে.
আমি এখানে অন্য কমান্ড, এই এক আছে, তাই যারা আছে বিভিন্ন স্ট্রিং হয়
এবং এটি মেলে না এই আছে কিছু খুঁজে না দেখাতে.
>> আমি ওরফে সংজ্ঞা আমি অনুসন্ধান করতে যাচ্ছি যে ফাইল অন্তর্ভুক্ত করতে চান তাহলে
এবং আমি ওরফে আমি চাই যে স্ট্রিং করার একটি যুক্তি হিসেবে দিতে চান?
আমি আমার ওরফে করার যুক্তি হিসেবে এবিসি বলতে চাইতে পারেন
কিন্তু ওরফে ইতিমধ্যে ফাইলটি নির্ধারিত.
এই অভিব্যক্তি আসে অংশে এবং যে যেখানে
আমরা ঠিক আগের মতই grep আছে এখানে লক্ষ্য করুন.
আমরা এখানে, স্ট্রিং ফাইল আছে.
\! ^, ধরনের একটি বিজোড় অভিব্যক্তি, আমি আপনাকে আগে এই না দেখে থাকেন তাহলে, অনুমান.
বিস্ময়বোধক বিন্দু সি শেল ইতিহাস প্রক্রিয়া অংশ.
এটা আগে কমান্ড প্রত্যাহার করতে পারেন, এটা তাই ঘোষণা ঐ কমান্ড আর্গুমেন্ট প্রত্যাহার ও করতে পারেন.
ইতিহাস প্রক্রিয়া aliasing অংশ হিসাবে ব্যবহার করা হয়.
আপনি বিস্ময়বোধক বিন্দু পরে একটি লাইন উল্লেখ, এটা, ইতিহাস তালিকায় যে লাইন পড়ুন হবে
এটি একটি সম্পূর্ণ অন্য বিষয় যেহেতু আমরা এখন মধ্যে পেয়ে করা যায়.
এটি একটি লাইন অংশ উল্লেখ করা সম্ভব.
তাই! 3:2 কমান্ড সংখ্যা 3 হাজার দ্বিতীয় যুক্তি হবে.
এখানে এই অভিব্যক্তি মধ্যে ক্যারেট প্রথম যুক্তি ঘোরা.
আপনি তা আপনি উল্লেখ করছি কমান্ড যা একটি ইঙ্গিত, না করা হলে
এটি অবিলম্বে পূর্ববর্তী কমান্ড বোঝায়
এবং ক্যারেট প্রথম যুক্তি জন্য একটি প্রতীক.
এটা ক্যারেট এবং না নম্বর কারণ, আপনি, কোলন ব্যবহার করতে হবে না
তাই! ^ পূর্ববর্তী কমান্ডের প্রথম যুক্তি মানে.
একটু এখানে ঘাঁটা.
এই ক্ষেত্রে, আপনি একটি alias সংজ্ঞা হিসাবে এই ব্যবহার করার সময়,
ইতিহাস রেফারেন্স ওরফে ব্যবহার করা হয় যা কমান্ড ফিরে বোঝায়.
তাই এই, একটি ইতিহাস অপারেশন হিসেবে ফিরে 1 কমান্ড যাচ্ছে
কিন্তু একটি alias অপারেশন হিসাবে এটি টাইপ করতে হবে যা কমান্ড বোঝায়,
grstrings_file বলে.
আমরা এখানে এ কোট আছে. জন্য ব্যাকস্ল্যাশ কি?
এই ক্ষেত্রে, যেমন অন্যত্র, আমরা ইতিহাস প্রক্রিয়া নির্বাহ করতে চাই না
ওরফে সংজ্ঞা যখন.
আমরা সেখানে ব্যাকস্ল্যাশ আছে কি না হলে, শেল প্রথম যুক্তি হ্রাস করবে
এটা আমরা চাই না যা এই ওরফে কমান্ড, দৌড়ে ডান আগে কমান্ডের.
আমরা এই পরে একটি আর্গুমেন্ট মধ্যে কল ওরফে কমান্ডের মধ্যে নির্মিত হতে চান.
একক উদ্ধৃতি চিহ্ন কোন বিস্ময়বোধক বিন্দু, ইতিহাস রেফারেন্স অব্যাহতি না.
হতে পারে আপনি অভিব্যক্তি পালাবার কিছু অর্থ পরিবর্তন মানে জানি.
এই ক্ষেত্রে, এটি একটি বিশেষ অর্থ থাকার থেকে কিছু বন্ধ করার মানে.
বিস্ময়বোধক বিন্দু এর বিশেষ অর্থ ইতিহাস.
অব্যাহতি এবং এটি যে অর্থ তা নয়.
দর যে কি না; ব্যাকস্ল্যাশ আছে.
তাই আসলে আমরা এখানে পলায়নের 2 মাত্রা ব্যবহার করছেন.
আমি এটা টাইপ ছাড়া অন্য উইন্ডোর মধ্যে এই কমান্ড সরানো যাচ্ছে না
এই সম্পাদনা অপারেশন ব্যবহার করে, যা আপনার কাজে লাগতে পারে.
এখানে অন্য কিছু আমি তোমাদের দেখাব.
আপনি ঠিক কোন আর্গুমেন্ট সঙ্গে ওরফে টাইপ করুন, এটি আপনি আপনার সকল যুক্তি বলে.
এই আমি ইতিমধ্যে এখানে ছিল alias লেখা একটি গুচ্ছ হয়
আমি আজ এখানে ব্যবহার করা হয়েছে যে যারা এর পাশাপাশি.
আমি শুধু একটি alias নাম দিয়ে টাইপ করুন কিন্তু, যদি এটা মানে কি আমাকে বলে.
কোট চলে গেছে এবং ব্যাকস্ল্যাশ সর্বস্বান্ত হয় যে লক্ষ্য করুন.
এখানে এই স্ট্রিং যে ওরফে সংজ্ঞা ফলাফল,
এবং এখন এটা ঠিক আছে! ^ এটি.
এই কিছু জন্য ফাইল স্ট্রিং অল্পক্ষণের করতে যাচ্ছে.
আমি grstrings_file স্ট্রিং কি সুতরাং, যদি আমি এটা আছে জন্য সন্ধান করতে কিছু দেয় নি
কিন্তু এটা স্ট্রিং এ খুঁজছেন.
এটা ফাইল স্ট্রিং শব্দ স্ট্রিং খুঁজে পান না, কিন্তু এটি এবিসি খুঁজে না.
এবং এটা যে এই নয়.
তাই আমরা এখানে ওরফে সংজ্ঞা মধ্যে হিট যে একটি যুক্তি প্রদান করা হয়,
যে এটি ঢোকানো হয়.
এই অভিব্যক্তি থেকে আসে এটা যেখানে.
আপনি 1 এর অধিক ব্যবহার করতে পারেন.
ক্যারেট প্রথম যুক্তি জন্য একটি প্রতীক.
যদি আপনি একটি দ্বিতীয় যুক্তি ব্যবহার করতে চেয়েছিলাম, আপনি তাহলে বলতে হবে: 2.
দ্বিতীয় যুক্তি জন্য কোনো বিশেষ চিহ্ন আছে.
আপনি একটি সংখ্যাগত ব্যবহার করছেন, কারণ, আপনি কোলন ব্যবহার করতে হবে.
এখানে অন্য একটি পছন্দ, কিন্তু, এখন পর্যন্ত.
ডলার চিহ্ন শেষ যুক্তি ঘোরা.
এই প্রতীক, কারণ, আপনি কোলন বর্জন করতে পারেন.
সুতরাং এটা তালিকায় গত যুক্তি হবে.
এবং যে এক এছাড়াও আছে.
, তারকা সব মানে, তাই এই সম্পূর্ণ যুক্তি তালিকা
এটি একটি সংখ্যাগত না কারণ এবং আবার, আপনি কোলন বর্জন করতে পারেন.
আমি আপনি সব এই সব পর্যবেক্ষক করছি আশা করি.
>> ইতিহাস প্রক্রিয়া ইতিহাস তালিকায় ফিরে তার আগে লাইনে যেতে পারেন.
আপনি একটি alias সংজ্ঞা এই কাজ করতে পারে.
আমি এই কাজ করেছি দেখেননি.
এটা ইতিহাস তালিকা থেকে পূর্ববর্তী কমান্ডের কাছে আউট এর প্রভাব সৃষ্টি করবে
আপনি বিভিন্ন কমান্ড হতে পারে যা ওরফে, চালানো হলে
যখন যেখানে আপনি এটি চালানো উপর নির্ভর করে.
বোধগম্যভাবে আপনি যেমন একটি রেফারেন্স উঠিয়ে ফেলা চাইতে পারেন
শুধু আগে কমান্ড কি ছিল জানতে.
আমি এই ঘটতে দেখেননি করেছি.
আমি কারো চাইবেন অনুমান, কিন্তু এই খুব সম্ভাবনা কম.
এখানে আরেকটি বিষয় এখন পর্যন্ত.
আপনি যে ইতিহাসের-টাইপ রেফারেন্স ব্যবহার,
তারপর যেমন একটি রেফারেন্স আছে যা একমাত্র আর্গুমেন্ট ব্যবহার করা হয়.
আপনি একটি ইতিহাস-টাইপ রেফারেন্স ব্যবহার করে না যা একটি alias সংজ্ঞা আছে,
এটি শুধু কমান্ড প্রারম্ভে হয়ে যদি
এবং আপনি আরও আর্গুমেন্ট আছে, তাহলে আর আপনি এর পর টাইপ করুন
কমান্ড যুক্ত হবে.
এই ক্ষেত্রে, আমি শুধু সেখানে দিয়েছেন যেমন, আমরা প্রথম যুক্তি ব্যবহার করা;
আমরা কোনো অন্যদের ব্যবহার করেননি.
অন্যান্য আর্গুমেন্ট কমান্ড লাইনে দেওয়া হয়েছে, তারা ব্যবহৃত হবে না.
আপনি এ সমস্ত ইতিহাস রেফারেন্স ব্যবহার সুতরাং, যদি তারপর যদি আপনার কোন যুক্তি পেতে এটি ব্যবহার করা আবশ্যক.
>> আমি আংশিকভাবে Parenthetically, উল্লেখ করতে চান এখানে আরেকটি বিষয় আছে,
যথা যে বিস্ময়বোধক বিন্দু সঙ্গে এই ইতিহাস প্রক্রিয়া
ফিরে আসল সি শেল যায়.
tcsh ইতিহাস অপারেশন চালু
সম্পাদকদের থেকে কমান্ড এবং স্ট্রিং বিশৃঙ্খলভাবে ব্যবহার যা,
Emacs বা ষষ্ঠ হয়.
আমার ব্যক্তিগত মতামত Emacs এই কাজের জন্য ব্যবহার করা অনেক সহজ হয়
আপনি আপনার নিয়মিত সম্পাদনার জন্য ষষ্ঠ ব্যবহার হলেও.
এখন ইতিহাস জন্য অভিযোজিত হয় যা বিভিন্ন Emacs কমান্ড আছে.
কন্ট্রোল পি ইতিহাস তালিকায় আগের লাইন পায়.
আরেকটি কন্ট্রোল পি আপনি যে আগে এক পাবেন.
তীর একই জিনিস আছে.
আপনি ইতিমধ্যে কিছু উপায় ফিরে scrolled করেছি কন্ট্রোল এন পরের কমান্ড পায়.
নিচে তীর যে খুব আছে.
আপনি তীর এবং বিভিন্ন অন্যান্য বিষয়ের সাথে ডানে বামে স্থানান্তর করতে পারেন.
এই ইতিহাস প্রক্রিয়া ব্যবহার করতে পারেন
বিস্ময়বোধক বিন্দু সিনট্যাক্স ব্যবহার তুলনায় অনেক সহজ,
কিন্তু আপনি একটি alias সংজ্ঞা যে ব্যবহার না করে.
আমরা কিছু অন্যান্য সময় যে উপর যাবেন.
>> ভেরিয়েবল.
আপনি প্রোগ্রামিং ভাষায় কি ভেরিয়েবল জানি.
শাঁস এছাড়াও তাদের আছে.
সি শেল, ভেরিয়েবল দায়িত্ব অর্পণ করা সেট কমান্ড ব্যবহার করে
তাই যে খ এর মান পরিবর্তনশীল একটি সেট করে -
আমি একটি অনর্থক সংজ্ঞা কিন্তু এই ব্যবহার করা হয় কিভাবে একটি নিদর্শন হিসাবে বলেন.
এটি ইতিমধ্যেই উপস্থিত না থাকলে সেট কমান্ড একটি পরিবর্তনশীল তৈরি করবে.
শেল স্ক্রিপ্ট জন্য অবস্থানগত পরামিতি ভেরিয়েবল বিবেচনা করা যেতে পারে,
কিন্তু তাদের ব্যবহার এবং তাদের জন্য নিয়ম কিছুটা ভিন্ন.
আপনি একটি স্ক্রিপ্ট অবশ্যই $ 1 একটি মান নির্ধারণ করতে পারবেন না.
আপনি কিছু চেয়েছিলেন যে উদ্দেশ্যে একটি নতুন চলক নির্ধারণ করতে হবে.
আর্গুমেন্ট কোন সঙ্গে সেট প্রকার এবং আপনি সব বর্তমানে সংজ্ঞায়িত ভেরিয়েবল একটি তালিকা পেতে.
এবং এর এখানে আমার অন্যান্য শেল যাও তরা এবং আমরা তা করতে যদি আমরা পেতে কি দেখতে দিন.
সেখানে বেশ দীর্ঘ তালিকা, ডান?
অল্প পর্যন্ত স্ক্রোল করুন. সব যে তাকান.
এই জিনিস কিছু শেল দ্বারা স্বয়ংক্রিয়ভাবে নির্ধারিত হয়.
শেল পরিবর্তনশীল তৈরি করে এবং এটি একটি মান দেয়.
তাদের কিছু শেল দ্বারা সংজ্ঞায়িত কিন্তু তারপর ব্যবহারকারীর দ্বারা পুনরায় নির্ধারণ করা হয়
তার পছন্দ অনুযায়ী.
এবং তাদের কিছু তিনি যে দিন করছে তার উপর নির্ভর করে ব্যবহারকারী দ্বারা নির্মিত হয়.
যে শুধু যুক্তির কোন সঙ্গে সেট এর.
এখানে এই জিনিস একটি বিজোড় বৈশিষ্ট্য আছে.
সমান সাইন এবং পরিবর্তনশীল নামের মধ্যে কোন স্পেস হয় আছে আছে
এবং সমান উভয় পক্ষের মান বা স্পেস সাইন,
এই এক হিসাবে.
এই কাজ করবে না, এবং আসলে এই একটি বৈধ কমান্ড
কিন্তু এটি আপনি মনস্থ কি করে দেবে না.
যে কমান্ড কাজ করবে, কারণ আপনি শুধু একটি পরিবর্তনশীল নামের সেট এবং বলে যদি
সাইন কোন উল্লেখ বা সেট এবং একটি সমান সঙ্গে একটি ভেরিয়েবল নামের সাইন এবং কোন মান, সঙ্গে
এটি একটি নাল মান ভেরিয়েবল সেট হবে.
সুতরাং একটি = সেট একটি বৈধ কমান্ড.
সেট কমান্ড একই লাইনে অধিক 1 পরিবর্তনশীল নির্ধারণ করতে পারবেন.
সুতরাং এখানে এই কমান্ড মান নাল a ও b উভয়েই সংজ্ঞা এর প্রভাব রয়েছে.
সম্ভবত না কি আপনি চান.
এখানে এই এক, পূর্বে উল্লিখিত, একটি ত্রুটি হতে হবে
= বি একটি বৈধ এক্সপ্রেশন না থাকার কারণে.
একটি পরিবর্তনশীল নাম সমান চিহ্ন দিয়ে শুরু করতে পারবেন না.
এবং এখানে এই অতিরিক্ত জিনিস আছে.
কোলন, ইতিহাস লাইন থেকে আর্গুমেন্ট নির্বাচন করতে ব্যবহার করা হয়েছিল
এবং তারা ব্যবহার করা যেতে পারে - এবং আমি আগে চলে যেতে না - সেগুলো সংশোধন করতে.
তারা শেল ভেরিয়েবল পরিবর্তন করতে ব্যবহার করা যাবে.
এখানে এই এক, একটি $ একটি মান আছে.
: R একটি এক্সটেনশন বন্ধ করা হবে.
একটি এক্সটেনশন একটি বিন্দু নিম্নলিখিত কিছু হবে,
একটি বিন্দু এবং একটি ফাইল শেষে এটি নিম্নলিখিত কিছু,
শুধুমাত্র গত স্ল্যাশ পর তালিকার শেষে.
তাই আমি এটা এখানে আছে.
একটি যে. এটা ড্রপ করবে. ণ.
কোন এক্সটেনশন, গত স্ল্যাশ পর একমাত্র পথটি আছে, এটা কোন প্রভাব সৃষ্টি হবে না.
একটি: H, পরিবর্তনশীল অভিব্যক্তি, একটি ডিরেক্টরি তালিকা শেষ উপাদান বন্ধ করা হবে,
আবার, শুধুমাত্র গত স্ল্যাশ পর.
তাই / A / B / C / A / B হয়ে,
তালিকার পর উপাদান নাল কারণ কিন্তু এই এক পরিবর্তিত হয়.
এখানে আমি জোর চাই যা কিছু আছে.
এই কোয়ালিফায়ার এই ফাইল অস্তিত্বের জন্য অনুসন্ধান করা হয় না.
তারা শুধু স্ট্রিং জন্য, দেখুন.
এই পথটি, ফাইলের নাম নিপূণভাবে উদ্দেশ্য
কিন্তু তারা এটি একটি ফাইল নাম না এমনকি যদি কোনো পংক্তি ব্যবহার করা যায়.
তারা অস্তিত্বের জন্য, দেখুন না,
তাই এরকম কোন ফাইল আছে, / এ / বি / সি, এই এখনও কাজ করবে.
এটা কোন ব্যবহার কিনা অন্য প্রশ্ন, কিন্তু এটি এখনও কাজ করবে.
ভেরিয়েবল বোর্ন শাঁস মধ্যে ভিন্ন. আমরা পরে যে পাবেন.
ডলার সাইন শুধু বিস্ময়বোধক বিন্দু এবং তারকা মত পালিয়ে যেতে পারে.
ডলার চিহ্ন একটি ব্যাকস্ল্যাশ বা একক উদ্ধৃতি চিহ্ন দিয়ে পালিয়ে যায়.
ডাবল কোট সব শাঁস মধ্যে অদ্ভুত প্রভাব সৃষ্টি
একটি ডলার মূল্যায়ন অত্যাচার পরিবর্তনশীল অভিব্যক্তি সাইন.
এটি একটি উপায় পলান হচ্ছে সুতরাং, যদি উদ্ধৃতি চিহ্ন প্রভাব সৃষ্টি করতে পারে
এর এটি যে কোনোভাবে মূল্যায়ন করা হবে যার ফলে.
এই একটু বিভ্রান্ত হয়.
যেমন উদ্ধৃতি চিহ্ন ভিতরে একক উদ্ধৃতি চিহ্ন হিসেবে পলায়নের একাধিক স্তর, আছে
বা একক উদ্ধৃতি চিহ্ন ভিতরে উদ্ধৃতি চিহ্ন, আপনি কি ঘটবে দেখতে পরীক্ষা হবে
আপনি এক ব্যবহার করছেন একটি পরিবর্তনশীল করতে.
যারা 2 পরিস্থিতিতে - ডবল একক, একক ভিতরে ডবল ভিতরে -
অগত্যা আপনি একই ফলাফল না করা.
পরিবেশ ভেরিয়েবল, আবদ্ধ সি শেল ভেরিয়েবল.
পরিবেশ ভেরিয়েবল, এছাড়াও সি শেল ভেরিয়েবল
এবং তারা খুব অন্যান্য শাঁস মধ্যে রয়েছে ভেরিয়েবল.
সি শেল, তারা স্বতন্ত্র সেট হয়.
আমি আগে বলছে ছিল জিনিষ শেল ভেরিয়েবল সম্পর্কে.
পরিবেশ ভেরিয়েবল ভেরিয়েবলের একটি স্বতন্ত্র সেট
আমরা বাউন্ড ভেরিয়েবল কল যা বিভিন্ন ভেরিয়েবল বাদে,
খুবই গুরুত্বপূর্ণ এবং আমরা পরে যারা মধ্যে পাবেন যা.
পরিবেশ ভেরিয়েবল স্বয়ংক্রিয়ভাবে হস্তান্তর করা হয়
শাঁস বা আপনার শেল থেকে চালানো হয় যে কমান্ড.
অন্যান্য বিষয় নয়. শেল ভেরিয়েবল, alias লেখা হয় না. পরিবেশ ভেরিয়েবল.
আমরা পরিবেশ ভেরিয়েবল তাদের কল কেন,
ধারণা পরিবেশ শুধু আপনার বর্তমান শেল অতীতে প্রসারিত হচ্ছে.
তারা কমান্ডের জন্য জিনিষ নির্ধারণ করতে ব্যবহার করা যাবে.
এখানে একটি উদাহরণ. প্রিন্টার, LPDEST.
ঐ ভেরিয়েবল দুটি কমান্ড জিনিস প্রিন্ট করতে ব্যবহার করা হবে এমন একটি প্রিন্টার নির্ধারণ করতে পারবেন.
আপনার চারপাশের একাধিক প্রিন্টার আছে, আপনি আপনার মত এক লাগাতে চাইবেন.
আমরা 2 ভেরিয়েবল আছে কারণ কমান্ড বিভিন্ন সেট লিখিত হয়েছে যে হয়
এই বিভিন্ন ভেরিয়েবল ব্যবহার করে.
আপনি তাদের বিভিন্ন মান দিতে পারে.
সম্ভবত আপনি তাদের একই মান উভয় দেব.
সেগুলো কাজ কারণ প্রিন্টিং যে কমান্ড
এই ভেরিয়েবলের মান পরীক্ষা প্রোগ্রাম হয়.
একটি প্রোগ্রাম যে ভাবে লেখা হয় নি, এটা অন্য কিছু না লেখা হয়েছে কিনা,
পরিবর্তনশীল অপ্রাসঙ্গিক হবে.
তাই অপারেটিং সিস্টেম এই ভেরিয়েবলের জন্য খুঁজছেন না
আপনি একটি প্রিন্টার পড়ুন প্রত্যেক সময়.
এটি যে ভাবে প্রোগ্রাম হয় যদি প্রিন্টিং যে একটি কমান্ড এই ভেরিয়েবলের জন্য খুঁজছেন হয়.
এই ভেরিয়েবল প্রায়ই আপনার আরম্ভের ফাইলের মধ্যে ব্যাখ্যা করা হয়েছে
কিন্তু না অগত্যা.
আপনি কমান্ড লাইনে তাদের নির্ধারণ করতে পারবেন.
তারা একটি কমান্ড সংজ্ঞায়িত করা যেতে পারে.
কিছু চালানো একটি কমান্ড ভেরিয়েবল নিজস্ব তালিকা পারে -
উদাহরণস্বরূপ একটি বিশেষ সফ্টওয়্যার প্যাকেজের জন্য পৃথক হবে যে ভেরিয়েবল,.
আপনি যে প্যাকেজ চালানো হলে তারা সংজ্ঞায়িত করা হবে.
কিভাবে এই ভেরিয়েবলের একটি উপ - শেল প্রেরণ করা হয়?
একটি উপ - শেল লেখা হয়, এটি যে এলাকার মধ্যে লিখতে হয় না.
পরিবেশ ভেরিয়েবল ভক্তি করা হয় যে উপ - শেল এলাকা
উপ - শেল দ্বারা লিখিত হয় না; এটা কপি করে লেখা.
আপনি একটি সাধারণ কমান্ড প্রয়োগ করার সময়, যেমন, এই কমান্ড মুদ্রণ বা যাই হোক না কেন হিসাবে
তারা একটি নতুন শেল তৈরি করে চলতে শুরু.
শেল শেল সৃষ্টি করে এবং তারপর এটি অংশ মুছে ফেলা হয়
একটু বিভ্রান্ত, যা আপনি চালাচ্ছেন যে কমান্ড, সঙ্গে,
কিন্তু যে এই কমান্ড এনভায়রনমেন্ট ভেরিয়েবল পেতে কিভাবে
তারা তারপর পরে পড়ুন যে.
পরিবর্তনশীল setenv সংজ্ঞা জন্য এখানে কমান্ড.
তার মানে আপনি এটি সংজ্ঞায়িত কিভাবে. Setenv, পরিবর্তনশীল, মূল্য: এটা 3 উপাদান এর.
আপনি ঠিক কোন আর্গুমেন্ট সঙ্গে setenv থাকে, আপনি কি পেতে পারি?
ঐ ভেরিয়েবল সব একটি তালিকা.
আবার, এটা একটা চমৎকার দীর্ঘ তালিকা এবং এই ক্ষেত্রে, অন্যদের মধ্যে হিসাবে,
এই ভেরিয়েবল শেল নিজে আমার লগইন অপারেশন দ্বারা মূলত নির্ধারিত হয়
বরং আমি কিছু দ্বারা তুলনায়.
এখানে অন্য একটি কমান্ড, printenv আছে.
যে পরিবেশের আউট ছাপে.
এখানে এডিটর = VI এই শেষ জিনিস লক্ষ্য করুন.
বলছেন যে যে আমি একটি এডিটর কল কিছু যে ব্যবহার করছি, যদি
এবং আমি একটি এডিটর উল্লেখ না এবং এটা আমার পছন্দের পারবেন, এটা আমার ষষ্ঠ দিতে পারে.
আমি কি printenv এডিটর না তাহলে কি হবে? এটা কি এটা আমাকে বলে.
রাইট যে আগে, একটি পরিবর্তনশীল, কম ছিল.
এই আমি কম কমান্ড চালানো হলে আপনার ডিফল্ট অপশন আছে,
যা ফাইল প্রদর্শন করা হয়.
আমি যে কি সুতরাং, যদি printenv, 1 যুক্তি বা 0 আর্গুমেন্ট গ্রহণ করতে পারেন
না আরো 1 বেশী.
সেখানে অন্যান্য কমান্ড এছাড়াও, কিন্তু আমরা সব আজ যে মধ্যে পেতে যাচ্ছেন না.
মত শেল ভেরিয়েবলের জন্য সংশোধনকারীদের ছিল মনে রাখবেন: জ,
একটি পাথের নাম শেষ উপাদান ড্রপ করবে যা,
বা: R, একটি এক্সটেনশন ড্রপ করবে.
যারা এখন খুব এনভায়রনমেন্ট ভেরিয়েবলের ক্ষেত্রে প্রযোজ্য. তারা ব্যবহৃত হয়নি.
এটা তারা পরিবর্তন করা যাবে না ব্যবহার করা হয়. এখন তারা হতে পারেন.
এটা বছরের পর বছর ধরে শাঁস উন্নয়নের সঙ্গে অগ্রগতি এক.
আমি বলার অপেক্ষা রাখে না যে পরিবেশের অংশ হিসেবে শাঁস
এবং সি শেল শেল ভেরিয়েবল কিছু ব্যতিক্রম, স্বতন্ত্র সেট সঙ্গে, হয়.
আপনি একই নামের একটি পরিবেশ চলক এবং একটি শেল পরিবর্তনশীল স্থাপন করতে পারেন.
তারা বিভিন্ন ভেরিয়েবল হবে; তারা বিভিন্ন মান থাকতে পারে.
এক মান পরিবর্তন অন্যান্য মান পরিবর্তন হবে না.
এই ভেরিয়েবল সব ডলার চিহ্ন দিয়ে মূল্যায়ন করা হয় - $ একটি, $ যাই হোক না কেন.
তাই কি আপনি এই আছে? আপনি পাবেন যা একটি জানেন?
আমার পরীক্ষা আমি শেল পরিবর্তনশীল পেয়েছিলাম,
কিন্তু এই নথিভুক্ত করা হয় না এবং আপনি যে নির্ভর করতে পারে না.
তাই আমি শেল ও বিভিন্ন পরিবেশের সৃষ্টি হয়, আপনি জিজ্ঞাসা
একই নামের একটি ভাল ধারণা নিয়ে? ঠিক আছে নং.
যা পরিবেশ ও শেল ভেরিয়েবল যারা প্রধান ব্যতিক্রম কি কি
একে অপরের সাথে সংযুক্ত করা হয়?
এই 4 আছে.
বড় হাতের অক্ষর TERM এনভায়রনমেন্ট ভেরিয়েবল,
ছোট অক্ষর, টার্মিনাল এমুলেশন ধরণ মধ্যে পরিবর্তনশীল শব্দটি শেল.
, আমি শুধু এখানে যান উপর চলেছি এবং আমি এখানে প্রতিধ্বনি, একটি দরকারী কমান্ড করতে যাচ্ছি
$ TERM $ শব্দটি. এবং সেখানে.
xterm X উইন্ডো সিস্টেম প্রদর্শন করা উইন্ডোজের জন্য একটি টার্মিনাল প্রকার.
xterm রঙ বিভিন্ন রঙের সাহায্যে যে একটি পরিবর্তন.
কেন আমরা এই সংজ্ঞায়িত করব? এই জন্য ভাল কি?
এডিটর মত পর্দা পুনর্বিন্যস্ত যে কমান্ড
পালাবার সিকোয়েন্স নামক বিশেষ সিকোয়েন্স, পাঠান,
একটি টার্মিনাল অথবা একটি উইন্ডোতে তাই ঘোষণা এটি নতুন করে সাজানো এবং করতে.
যারা সিকোয়েন্স টার্মিনাল বিভিন্ন ধরনের জন্য ভিন্ন.
এই বেশী ব্যবহার যা তা বলে.
কখনও কখনও সেখানে দিক রয়েছে.
আপনি যে পরিবর্তন করতে চাইতে পারেন.
জিনিস কাজ না হয়, কখনও কখনও টার্মিনালের ধরন, ভুল সেট করা হয়
আপনি শব্দটি পরিবর্তনশীল redefining দ্বারা এটা ঠিক করতে পারবেন.
এই পরিস্থিতিতে, এক পরিবর্তনশীল, এনভায়রনমেন্ট ভেরিয়েবল অথবা শেল পরিবর্তনশীল পরিবর্তন,
অন্য এক পরিবর্তন করা উচিত.
আমি অভিজ্ঞতা মাধ্যমে আবিষ্কার করেছি যে হাতের অক্ষরে শব্দটি পরিবর্তন
সবসময় ছোট অক্ষরে শেল পরিবর্তনশীল শব্দটি পরিবর্তন করে না.
এটি একটি বাগ.
যে সবসময় সত্যি যদি আমি জানি না. এটা সত্য নয় বেশিরভাগ সময়ে, কিন্তু এটি হতে পারে.
আপনি পরিবর্তন করতে সুতরাং, যদি ঠিক যে চেক আউট.
এটা কিন্তু একবার আপনাকে যা একটি সময়, আপনি যে মূল্য পরিবর্তন প্রয়োজন যে প্রায়ই না.
পরিবেশ পরিবর্তনশীল ব্যবহারকারী.
আবার, বড় হাতের অক্ষরে এনভায়রনমেন্ট ভেরিয়েবল, ছোট অক্ষরে পরিবর্তনশীল মিটিয়ে.
এই আপনার ব্যবহারকারী নাম হল.
এটা শুধুমাত্র খুব ব্যতিক্রমী পরিস্থিতিতে এর
আপনি যে পরিবর্তন চাই হবে.
আপনার ব্যবহারকারী নাম অন্য কেউ, এটা জিনিস সমস্ত প্রকারের নিক্ষেপ বন্ধ করতে পারেন.
হোম ডিরেক্টরি, ব্যবহারকারীর ব্যক্তিগত ডিরেক্টরি.
আবার, আপনি যে পরিবর্তন করতে চাইবেন না.
আমরা, পথ পরিবর্তনশীল আবরণ চলেছেন যে এইসব ক্ষেত্রে এবং এক সব লক্ষ্য করুন,
পরিবেশের পরিবর্তনশীল হাতের অক্ষরে এবং বাউন্ড শেল পরিবর্তনশীল ছোট অক্ষরে লেখা থাকে.
আপনি এক পরিবর্তন করা হলে, আপনি অন্যান্য পরিবর্তন করা উচিত.
আপনি 2 ভেরিয়েবল আবদ্ধ না পারেন হিসাবে বাঁধাই এই ধরনের প্রতিষ্ঠিত করা যাবে না,
অন্য আর এই 4, এবং এই ভেরিয়েবলের মধ্যে বাঁধাই পূর্বাবস্থায় ফেরানো যায় না,
আপনি তাদের আলাদা করতে পারবে না.
তাই ভেরিয়েবল এই 4 জোড়া আবদ্ধ হয়.
তারা সবসময় না. কেউ না অন্যদের হতে হবে.
উপরন্তু, এটা একই নামের সাথে ভেরিয়েবল নির্মাণ করা সম্ভব হবে
বিপরীত ধরনের.
আপনি ছোট অক্ষরে শেল পরিবর্তনশীল শব্দটি করতে পারে
বা হাতের অক্ষরে একটি পরিবেশ চলক শব্দ.
সেগুলো হল ভেরিয়েবল এই জোড়া ভেরিয়েবল স্বাধীন হবে
এবং তারা একে অপরকে স্বাধীন হবে.
আপনি মানুষ গুলান চান, যদি না আপনি তা করতে হবে কেন আমি কল্পনা করতে পারবেন না.
এখানে এই এক, পথ পরিবর্তনশীল, এই সত্যিই একটি গুরুত্বপূর্ণ এক.
এখানে আরেকটি বিষয় ক্ষেত্রেই হতে পারে
একে অপরকে আবদ্ধ নয় এমন অনুরূপ জোড় নামের সাথে ভেরিয়েবল.
মূলধন এবং ছোট অক্ষরে, ভেরিয়েবল, শেল এবং শেল হতে পারেন.
যে পরিবর্তনশীল একটি শেল পরিবর্তনশীল যদি এই নামের উপর ভিত্তি করে, আপনি জানেন না
অথবা একটি পরিবেশ পরিবর্তনশীল, এবং তারা একে অপরকে আবদ্ধ না থাকেন.
তাই জোড়া নামের যে ধরনের বাউন্ড ভেরিয়েবল পরোক্ষভাবে না.
আমি আগে দেখানো হয় যা পাথ পরিবর্তনশীল,,
শেল কমান্ড অনুসন্ধান করে যা পথটি একটি তালিকা.
এর এখানে এই উইন্ডোতে তরা করি এবং আমরা প্রতিধ্বনি $ PATH, বড় হাতের অক্ষরে চেষ্টা করবো -
এনভায়রনমেন্ট ভেরিয়েবল - $ পথ প্রতিধ্বনি, ছোট অক্ষর - পরিবর্তনশীল মিটিয়ে.
ডিরেক্টরি তালিকা একই যে লক্ষ্য করুন. এই আবদ্ধ হয়.
এক পরিবর্তন করুন, আপনি অন্যান্য পরিবর্তন.
এনভায়রনমেন্ট ভেরিয়েবলে উপাদান কোলন দ্বারা পৃথক করা হয়. যে লক্ষ্য করুন.
শেল ভেরিয়েবল শূণ্যস্থান দ্বারা পৃথক করা হয়.
এই পরিবেশের পরিবর্তনশীল একটি একক পংক্তি.
শেল পরিবর্তনশীল একটি অ্যারে.
বোর্ন শেল অ্যারে আছে কি না.
ব্যাশ করা হলেও এই ইতিমধ্যে শেল এর একটি নির্দিষ্ট অংশ.
এই একটি একক স্ট্রিং এবং না একটি অ্যারে.
সি শেল সবসময় অ্যারে ছিল.
অ্যারে সঙ্গে কাজ করতে অনেক সহজ হয়.
আপনি এটা অংশ পাঠাতে পারেন.
সুতরাং প্রতিধ্বনি $ পথ [1] এবং আমি পেতে / usr / bin, প্রথম উপাদান.
আবার, ডলার স্মরণ সাইন ইতিহাস তালিকার শেষ উপাদান ঘোরা.
কি সেখানে কি হবে? এটি একটি পরিবর্তনশীল প্রতীক হিসেবে ডলার চিহ্ন খুঁজে পেতে চেষ্টা.
আমি এটা অব্যাহতি. ওহো. এটা হয় যে গ্রহণ করা হবে.
এই জিনিস কিছু ভাল কাজ করে না.
হয়তো আমরা শুধু যে ছেড়ে দেব.
তারকা গোটা ব্যাপারটাই বোঝায়, কিন্তু যে আপনি একটি উপাদান উল্লেখ না থাকলে আপনি পেতে কি.
অ্যারের ভেরিয়েবল কাজে ব্যবহৃত হতে পারে যে আরেকটি উপায়,
সেখানে উপাদান, 7 উপাদানের সংখ্যা.
এখানে আমরা পরিবর্তনশীল নামের আগে আধা কেজি সাইন করান.
এখানে অন্য এক. সেখানে একটি প্রশ্ন চিহ্ন বসান.
এটা একটি লজিক্যাল মান. যে পরিবর্তনশীল বিদ্যমান নির্দেশ করে.
এটা ভেরিয়েবল সঙ্গে কাজ করার অন্য উপায়.
অর্থাৎ, যাইহোক, একটি অ্যারের পরিবর্তনশীল হতে হবে তা নয়.
যে কোন পরিবর্তনশীল হতে পারে.
আমি না এবং যদি সেখানে কোন ধরনের পরিবর্তনশীল এবং আমি একটি 0 পেতে.
পরিবর্তনশীল মূল্যায়ন সম্পর্কে আছে আরেকটি সামান্য জিনিস.
পিছনে এই এক এখানে, যদি আপনি এই সঙ্গে কাজ করতে চেয়েছিলেন কোনো কারণে
বরং অ্যারে সঙ্গে কাজ বেশী, শেল পরিবর্তনশীল,
কোলন উপর ভিত্তি করে এই জিনিস আলাদা করতে পারেন যে কমান্ড আছে.
আসলে, আপনি সম্ভবত ব্যাশ শেলের এই কাজ করা যাচ্ছে করছি,
একটি স্ক্রিপ্ট কোন ধরণের, যে আপনি এটা করতে হবে কিভাবে সম্ভবত হবে.
কিন্তু সি শেল তা অ্যারে ব্যবহার করা অনেক সহজ.
বোর্ন শেল ইন, ভেরিয়েবল ভালো একটি অভিব্যক্তি দ্বারা নির্ধারিত হয়,
আপনি একটি প্রোগ্রামিং ভাষায় একটি ভেরিয়েবল ধার্য হতে পারে উপায় মত,
এবং এখানে কোন স্থানে হতে হবে.
এটা শুধু 1 স্ট্রিং হতে যে প্রয়োজন.
বোর্ন-টাইপ শাঁস, সব ভেরিয়েবল শেল ভেরিয়েবল.
পরিবেশ ভেরিয়েবল শেল ভেরিয়েবল একটি উপসেট রয়েছে.
তারা এক্সপোর্ট দ্বারা অ এনভায়রনমেন্ট ভেরিয়েবল থেকে আলাদা করা হয়.
যে কি কমান্ড এক্সপোর্ট PRINTER মত, রপ্তানি হয়.
আমরা যেমন একটি পরিবর্তনশীল সংজ্ঞায়িত ছিল,
আমরা সেটা খুঁজে পেতে একটি মুদ্রণ কমান্ড চেয়েছিলেন, এটি একটি পরিবেশ চলক হতে হবে,
এবং যে আমরা তা এক করা কিভাবে.
এখানে ধরনের বিভ্রান্তিকর কিছু আছে.
এই অভিব্যক্তি, পরিবেশ রপ্তানি,, এই বোর্ন শেল ধারণা থেকে আহরিত
এবং এখনো যে অভিব্যক্তি, সি শেল এর বিবরণ ব্যবহার করা হয়
এরকম কোন কমান্ড রপ্তানি হিসাবে আছে যেখানে.
আপনি শুধু নিজে এক্সপোর্ট বলে, আপনি এক্সপোর্ট একটি তালিকা পেতে -
তাই আমি শুধু এখানে রপ্তানি থাকলে, যেমন জিনিস.
ঠিক আছে, সেখানে আমরা যেতে.
এই জিনিস, যাইহোক, এছাড়াও শেল দ্বারা সংজ্ঞায়িত করা হয়.
আমি নিজেকে দ্বারা এর মধ্যে যে কোনো সংজ্ঞায়িত করা হয়নি.
শেল নিজে জিনিস সমস্ত প্রকারের আছে.
এটি স্বয়ংক্রিয়ভাবে কিছু করার উচিত.
ব্যাশ বা Korn শেল, আপনি এই মত একটি কমান্ড চালাতে পারেন
একটি পরিবর্তনশীল একটি মান দিতে এবং 1 কমান্ডের মধ্যে এটি রপ্তানি হবে উভয় যা.
বোর্ন শেল তারা রপ্তানি একটি মত পৃথক কমান্ড করা আছে.
এখানে বিভ্রান্তিকর যে অন্য দৃষ্টিভঙ্গি.
সি শেল সেট কমান্ড ভেরিয়েবল সংজ্ঞায়িত
এবং কোন আর্গুমেন্ট সঙ্গে ভেরিয়েবল 'মান কি আপনি বলে.
ব্যাশ শেল, কোন আর্গুমেন্ট সঙ্গে সেট কমান্ড, একই জিনিস আছে
কিন্তু যুক্তি দিয়ে তা পুরোপুরি ভিন্ন কিছু না.
সুতরাং এই এখানে বিভিন্ন আর্গুমেন্ট হয়.
এর মধ্যে কিছু তাদের কিছু শেল ভেরিয়েবল আছে, পরিবেশ ভেরিয়েবল.
তাদের সমস্ত সত্যিই শেল ভেরিয়েবল. যারা কিছু পরিবেশ ভেরিয়েবল.
আর্গুমেন্ট সঙ্গে সেট কমান্ড কাজ চালানোর জন্য ব্যবহার করা যেতে পারে
একটি স্ক্রিপ্ট থেকে অবস্থানগত পরামিতি,
যা একযোগে তাদের সব পাবার একটি উপায়.
আমরা সত্যিই আজ যে মধ্যে হতে পারে না.
এটি শেল আচরণ পরিবর্তন করা সম্ভব.
বিশেষ ব্যাশ শেল আচরণ কিভাবে নির্ধারণ করা হবে, যা ভেরিয়েবল আছে.
তারপর আপনি দেখতে হতে পারে যে শুধু এই এক আদেশে এই কমান্ড.
ভেরিয়েবল এবং পরিবর্তনশীল ধরনের অনুসরণ অক্ষরস্থাপক Korn এবং ব্যাশ শেল ব্যবহার করা হয়.
, এটা বাধ্যতামূলক নয় কিন্তু এটি ভেরিয়েবলের মান সীমিত করা যাবে
কোনো সমস্যা প্রতিরোধ করার উপযোগী হতে, এবং এটা মোটামুটি সাধারণ পারেন যা.
তাই আমি ঠিক ক্ষেত্রে আপনি কোথাও এটা দেখতে যে উল্লেখ করছি.
যেখানে কমান্ড.
আমি উল্লেখ মনে রেখো আগে যেখানে সি শেল কমান্ড,
আপনি একটি কমান্ড পাথের নাম অবস্থান বলতে পারেন যা.
এখানে কমান্ড প্রতিকল্পন হয়.
আপনি কোথাও আপনার কীবোর্ড ভালো দেখায় যে একটি অক্ষর খুঁজে পেতে হবে.
কীবোর্ডের অবস্থান পরিবর্তিত হতে যাচ্ছে.
আমরা এটা backquote বলা করেছি. এটি একটি মূল্যউদ্ধৃতি মাপ সম্বন্ধে.
এটা অধিকার কম উপরের বাম থেকে যায়.
এখানে আমার ম্যাক কীবোর্ডের এটি উপরের বাঁদিকের কোণে এর.
যে চরিত্র একটি কমান্ড মধ্যে একটি কমান্ড নির্বাহ করা সম্ভব.
আপনি backquotes ভিতরে একটি অভিব্যক্তি আছে,
যে অভিব্যক্তি এটি চালানো হচ্ছে, একটি কমান্ড.
যে কমান্ডের আউটপুট
তারপর গোটা backquote প্রকাশের জন্য প্রতিস্থাপিত হয়
তারপর যে আউটপুট সঙ্গে যা রান আর কমান্ড ভিতরে
তাই ঘোষণা আর্গুমেন্ট এবং তার স্ট্রিং অংশ হিসাবে.
এখানে যে ব্যবহার করে যা একটি কমান্ড.
এর এখানে অপারেশন প্রকট যাক.
Backquotes গ্রহণ, এর এখানে যাওয়া যাক.
কন্ট্রোল একটি Emacs সম্পাদনা সিনট্যাক্স সঙ্গে সঙ্গতিপূর্ণ শুরুতে আমার পায়.
এ পর্যন্ত পথটি, যেখানে আছে কি
আমি ভালো এটা করতে হলে কিন্তু, এটা তাহলে পথটি যে তালিকায় প্লাগগুলিকে
এই পুরো backquote প্রকাশের এবং তাদের উপর রান LS-L স্থানে.
সুবিধাজনক ধরনের, তাই না?
সুতরাং যে এক ঝরঝরে জিনিস. যে backquotes কাজ কিভাবে.
এখন আসুন একটু আরো নিচে যান.
এই alias লেখা রয়েছে. আমি আসলে এই ব্যবহার.
আমি 1 সম্পাদনা অপারেশন সঙ্গে এই পেতে চেষ্টা করব.
ঠিক আছে.
এখন আসুন সেই সংজ্ঞা এসেছেন কিভাবে দেখতে দিন.
ওরফে এটি সংজ্ঞায়িত কিভাবে আমাকে বলছে LWH.
এটা শুধু এই, কিন্তু বাইরের কোট নেওয়া বন্ধ করা হয়েছে লক্ষ্য করুন
এবং বিস্ময়বোধক বিন্দু বন্ধ নেওয়া হয়.
! *, সমস্ত আর্গুমেন্ট সম্পূর্ণ তালিকা.
একটি alias সংজ্ঞা এটি আমি এই ব্যবহার যেখানে ফিরে প্রয়োগ করা হবে.
LWH ksh করুন bash. ঠিক আছে.
যে কাজ করে দেখুন? এটা আমাকে কিছু টাইপিং সংরক্ষণ করে.
এর ঠিক এখানে অন্য কিছু উল্লেখ অল্প পর্যন্ত যাওয়া যাক.
এখানে এইসব বিভিন্ন শেল লক্ষ্য করুন. আমি আগে এই উল্লেখ করা উচিত.
csh একটি উপর এখানে 2 এবং তাই আছে / বিন / tcsh আছে.
আমরা যারা আসলে একই ফাইল যা অন্যান্য উপায়ে স্থাপন করতে পারে.
আপনি ব্যাশে পেতে বস্তুর জীবন টাইপ করুন যদি আমি বলার অপেক্ষা রাখে না ছিল মনে রাখুন.
এই টাইপ করুন এবং আপনি এই পেতে.
কিন্তু যারা সংযুক্ত করা হয় না. যারা সেখানে একক বেশী আছে.
এবং এই অন্য একটি কল করতে পারেন যা ফাইলের ধরনের নয়.
সুতরাং যারা পৃথক ফাইল; সি শেল বেশী একই ফাইল হয়.
পিছনে নিচে এখানে, এখানে অন্য এক, এই ওরফে,
যে এই কমান্ড, ফাইলের চলমান রাখবেন.
যে ওরফে যে চালায়. ফাইল যদি আপনি একটি ফাইল টাইপ বলে.
সুতরাং fwh ksh করুন bash. ঠিক আছে.
যে ফাইলটি কমান্ডের আউটপুট এর.
আপনি এই এখানে মানে কি জানেন যে যদি আমি জানি না
2 আর্কিটেকচারের সাথে মাপক-হে সার্বজনীন বাইনারি.
ম্যাক মধ্যে 2 সম্ভব প্রসেসর ধরনের আছে,
এবং কিছু প্রোগ্রাম উভয় সঙ্গে চালাতে পাবে লিখিত ছিল,
এবং ফাইল কমান্ড যে নির্ধারণ করতে পারবেন, তাই যে এর মানে কি.
এই ফাইল দুটি যে ভাবে লিখিত হয়.
সুতরাং আমরা, আমরা backquote কাজ করে দেখুন, ওরফে কিভাবে কাজ করে দেখুন
আমরা প্রকৃত ফাইল ম বা ফাইলটি কিভাবে কাজ করে দেখুন.
এই কাজ হতে পারে. "যেখানে যেখানে" এবং "LWH যেখানে" চেষ্টা করুন. ঠিক আছে, এর যে চেষ্টা করুন.
যেখানে যেখানে.
যেখানে শেল বিল্ট ইন থাকে.
তার আগে আমরা ব্যাশে যেখানে আছে কি না দেখিয়েছেন যে মনে রাখুন.
আপনি ব্যাশ শেলের যেখানে টাইপ করুন, আপনি একটি ত্রুটির বার্তা পেতে.
এটা বরং একটি পৃথক কমান্ড হচ্ছে আর শেল মাত্র অংশ.
আমি LWH যেখানে খুঁজছেন টাইপ তাহলে কি হবে? সেখানে সেখানে কি ঘটছে.
যেখানে Ran যেখানে, এই আউটপুট পেয়েছিলাম, এবং তারপর ম চালানোর চেষ্টা
শেল অন্তর্নির্মিত যেখানে নেভিগেশন L হিসেবে.
যেখানে আছে, কিন্তু অন্য জনকে উপস্থিত না থাকার.
এর মধ্যে কেউ না আসলে, বিদ্যমান.
সুতরাং যে সবসময় কাজ করে না, এবং এটি কিভাবে কিছু কিছু বিষয় প্রকাশ করে
আপনি চিন্তা থাকতে পারে বেশ কি না.
এর আরও এখানে একটু নিচে যান.
এখানে এই ব্যাশ হয়. যে backquote মত কমান্ড প্রতিকল্পন হয়.
কিন্তু backquote অসদৃশ, এটি এই পরিবর্তনশীল শৈলী ব্যবহার করে.
একটি ডলার চিহ্ন দিয়ে শুরু যা এক্সপ্রেশন একটি নম্বর আছে,
এই ভেরিয়েবল নয় এবং যখন তারা ডলার চিহ্ন ব্যবহার ধার
কোন ধরণের একটি অভিব্যক্তি ইঙ্গিত.
যে প্রথম বন্ধনী বা বন্ধনী বা ডবল বন্ধনী দ্বারা বেষ্টিত করা যেতে পারে,
যা একটি ভিন্ন উদ্দেশ্য রয়েছে.
এখানে একা বন্ধনী শুধু backquotes মত একটি কমান্ড প্রতিকল্পন হয়.
ডাবল বন্ধনী আসলে একটি গাণিতিক অপারেশন.
অন্যান্য syntaxes, অন্যান্য অপারেশন আছে.
Backquote সিনট্যাক্স ব্যাশে পাওয়া যায়.
তবে, এই এক বাঞ্ছনীয়. এটা পড়তে অনেক সহজ এবং এটা পাখির বাসা পারবেন.
আপনি, $ (কমান্ড) ভিতরে আরেকটি কমান্ড থাকতে পারে
ভালো কিছু -
আমি সেখানে একটি তালিকা পেতে.
আমি backquote ছিল যে কাজ করবে.
আমি ভালো কিছু করতে চান -
আপনি সম্ভবত আসলে এই কমান্ড ব্যবহার করতে হবে,
কিন্তু এই অভ্যন্তরীণ কমান্ড প্রতিকল্পন একটি প্রারম্ভে সকল ফাইলের নামের প্রতিধ্বনি,
তারপর এই এক, যারা ফাইল নেভিগেশন LS-L রান
এবং তারপর এই এক মাত্র আউটপুট প্রতিধ্বনি.
আপনি সম্ভবত এটা করতে না; আপনি শুধু প্রতিধ্বনি বা ম করতে চাই,
কিন্তু এই কমান্ডের পাখির বাসা কিভাবে কাজ করে প্রকাশ করে.
তাই শুধু আরেকটি বৈশিষ্ট্য হল এখানে.
আমি এই পূর্বে উল্লিখিত, যে আপনি যখন যেখানে সি শেল,
কমান্ড লোকেটিং জন্য বোর্ন-টাইপ শাঁস মধ্যে কাজ করে টাইপ করুন.
আমি সেখানে বলছে ছিল ঠিক কি অন্তর্নির্মিত কমান্ড,.
কমান্ড যেখানে মত শেল, অংশ.
শেল ম মত একটি কমান্ড executes, এটা, পাথ মাধ্যমে এটি locates
, কোথাও কিছু ডিরেক্টরির মধ্যে তা খুঁজে বের করে
মেমরির মধ্যে, একটি নতুন শেল তৈরি করে যে সার্চ,
শেলে কমান্ড ম বা যাই হোক না কেন সার্চ
পরিবেশ ভেরিয়েবল ইতিমধ্যে কোথায় অবস্থিত,
এবং তারপর এটি মৃত্যুদন্ড স্থানান্তর.
অন্তর্নির্মিত কমান্ড, যে কমান্ড জন্য কোড শেল ভিতরে হয়,
তাই শেল শুধু তার নিজস্ব কোড অংশ নির্বাহ শুরু হয়.
যেখানে যেমন একটি কমান্ড. এটা আসলে দ্রুত পায়.
এটা মেমরির মধ্যে কিছু পড়তে হবে তা নয়; এটা মেমরির মধ্যে ইতিমধ্যে এর.
অন্তর্নির্মিত কমান্ড সবসময় একই নামের কমান্ড উপর প্রাধান্য করা.
পাথ ডিরেক্টরি মধ্যে যে কমান্ড একই নাম হতে পারে,
বিভিন্ন ডিরেক্টরি ইন কমান্ড, বিভিন্ন ডিরেক্টরি মধ্যে ফাইল.
তার আগে পাথ যে হয় এক আপনি পাবেন এক.
একটি বিল্ট ইন কমান্ড আছে, আপনি সবসময় এটা পাবেন.
এটা পাথ কমান্ড কম প্রাধান্য দিতে কোন উপায় নেই.
আপনি যে পাথ কমান্ড পেতে চান, আপনি সম্পূর্ণ পাথের নাম টাইপ করতে পারেন.
সেখানে একটি কমান্ড কোথাও যেখানে পথ ছিল, যদি
আপনি / বিন / যেখানে টাইপ করতে পারে এবং আপনি তা পেতে চাই.
আপনি পুরো পাথের নাম টাইপ করতে না চান, আপনি একটি alias নির্ধারণ করতে পারে.
আপনি ওরফে অন্তর্নির্মিত কমান্ড হিসাবে একই নাম কেউ জানে যদি আসলে,, এটা কাজ করবে
ওরফে সংজ্ঞা বুদ্ধ কারণ
শেল এটি মৃত্যুদন্ড কার্যকর করা উচিত, যা একটি বিল্ট ইন কমান্ড যে নির্ধারণ করে আগে.
তারপর এই এখানে কিছু কমান্ড দিয়ে একটু বেশি জটিল পায়.
কিছু কমান্ড ক্ষেত্রে আসলে বিল্ট ইন করা হয় কমান্ড এবং পাথ.
তাদের মধ্যে একজন কমান্ড আমি শুধু যারা উদাহরণ মধ্যে কিছুক্ষণের আগে ব্যবহৃত, প্রতিধ্বনি হয়.
ইকো পাথ একটি কমান্ড এবং এটি প্রত্যেক শেল আছে.
তারা অগত্যা সব একই ভাবে আচরণ করে না.
এটা শুধুমাত্র পাথ মূলত একটি কমান্ড ছিল.
এটা পরে শেল করার সালে নির্মিত হয়েছিল.
পরিবেশের উপর নির্ভর করে যা অপশন আছে কারণ
এবং কমান্ড লাইন অপশন, বিল্ট ইন কমান্ড
পাথ ছিল কমান্ডের অনুরূপ লেখা ছিল,
তারা যে ভাবে লেখা হয়েছে হবে অসম্ভাব্য
কমান্ড ইতিমধ্যে পাথ জন্য লিখিত হয়নি তাহলে.
তাই এই পার্শ্ব প্রতিক্রিয়া আছে. তার ইতিহাস এখানে প্রভাব আছে.
বিকল্প ব্যবহার আছে.
Echo_style বলা tcsh মধ্যে একটি পরিবর্তনশীল দ্বারা সংজ্ঞায়িত একটি অপশন এর রয়েছে.
যে কাজ echo যে পথ পরিবর্তন করতে পারেন যে এই ভেরিয়েবল এক.
আপনি একটি পরিবর্তনশীল ধার্য করতে পারেন যা অন্যান্য ক্ষেত্রে আছে
একটি বিল্ট ইন কমান্ড সহ শেল অপারেশন,, কাজ করে যে ভাবে পরিবর্তন.
এটা অন্য কিছু প্রভাব পড়বে না
অন্যান্য কমান্ড শেল ভেরিয়েবল ব্যবহার করার সুযোগ না থাকে, যেহেতু,
শুধুমাত্র পরিবেশ ভেরিয়েবল.
কিন্তু শেল অপারেশন শেল ভেরিয়েবল পড়তে পারেন.
যে csh জন্য কাজ করবে না. এটা শুধুমাত্র tcsh এর. যে উন্নত বৈশিষ্ট্য এক.
এটা metacharacters মূল্যায়ন যখন পার্সিং, সিকোয়েন্স আছে
এটা ভেরিয়েবল, alias লেখা, ইতিহাস রেফারেন্স মূল্যায়ণ করা হয়.
এই জিনিস জন্য একটি নির্দিষ্ট অনুক্রম আছে.
এটি একটি বিশেষ ক্রমানুসারে জিনিস আছে যদি
এবং কেমন একটি অভিব্যক্তি কিছু যে পায়
ইতিমধ্যে মূল্যায়ন হয়েছে, এটা আবার এটি নির্ণয় করা হবে না.
এটা এটি পায়, তাহলে এটি শুধু অক্ষরের নেভিগেশন পাস হবে.
তাই আপনি যদি কমান্ড প্রতিকল্পন মত কিছু এক্সপ্রেশন মূল্যায়ন
বা চলক বা যাই হোক না কেন একটি অভিব্যক্তি বৃদ্ধি দেয়
আপনি মূল্যায়ন করা চাই, যা,
যে নিরীক্ষার পরে ক্রমানুসারে ঘটে শুধুমাত্র যদি যে কাজ করবে.
আমি স্পষ্ট হচ্ছে সেখানে করছি আশা করি.
যে পার্সিং ক্রম, সি শেল মধ্যে একটি অপারেশন,
এটা অ বিল্ট ইন কমান্ড জন্য হয় হিসাবে বিল্ট ইন কমান্ড জন্য একই নয়.
আমি সেখানে ব্যাশ সম্পর্কে নিশ্চিত না.
উদাহরণস্বরূপ, একটি শেল পরিবর্তনশীল, একটি ইতিহাস রেফারেন্স উত্পাদিত
এটি সম্ভবত ফিরে ইতিহাসে যান না.
এটা ঠিক বিস্ময়বোধক পয়েন্ট পেতে হবে.
আসলে, আমরা ঠিক এই মুহূর্তে যে চেষ্টা করে দেখতে পারেন.
একটি = সেট এবং আমরা সেখানে এই লাগাতে হবে.
ওহ, অপেক্ষা করুন. দুঃখিত. আমি ব্যাশ এই কি. আমি এখানে এটা করতে চেয়েছিলেন.
দেখুন, তাই এটি যে ইতিহাসের রেফারেন্স নির্ণয় করা হয়নি
এটা ইতিহাস এক্সপ্রেশন মূল্যায়নের পয়েন্টের থেকে ইতিমধ্যে কারণ
এটি পরিবর্তনশীল মূল্যায়ন যখন.
সুতরাং যে পার্সিং 1 ইফেক্ট এর.
এবং আবার, বিল্ট ইন কমান্ড একই ভাবে সম্পন্ন করা হয় না.
ঠিক আছে. এর এখানে পরের এক যান.
এই 1 লাইন হতে দেয়ার উদ্দেশ্যে করা হচ্ছে, কিন্তু এটি সহজে পড়তে তৈরীর এর.
যে কী কাজ করে?
আপনি আমরা ফাইলের নাম ওয়াইল্ডকার্ড হিসেবে আস্টেরিক্স নির্ণয় করা যেতে পারে যে প্রত্যাহার করা হতে পারে,
এবং প্রশ্ন চিহ্ন এবং বন্ধনী এক্সপ্রেশন মত অন্যান্য ফাইলের নাম ওয়াইল্ডকার্ড আছে.
মূল্যায়ন তজ্জাতীয় মোটামুটি ফিচার পেয়ে যাবো বলে.
এই কমান্ডের শুরুতে noglob যে সেট করবেন না বলেছেন.
আনসেট noglob ফিরে যে করছেন যেতে বলল.
যে সেট glob যে প্রভাব সৃষ্টি হবে না উল্লেখ্য.
সাধারণ ভাষা সালে সেট glob বা আনসেট noglob, সমতুল্য হতে মনে হবে
কিন্তু এখানে তা না হয়. এটা আনসেট noglob এর.
এখন tset. tset টার্মিনাল সেট জন্য দাঁড়িয়ে.
Windowing সিস্টেমে উপলব্ধ ওঠে আগে এটি যে প্রায়ই এখন ব্যবহার করা, কিন্তু না
এবং আপনি একটি একক টার্মিনাল ছিল, আপনি টাইপ নির্ধারণ থাকতে পারে.
এবং কিছু একটি ওভার ইথারনেট অথবা নেটওয়ার্ক থেকে আসছে ছিল,
আপনি এটি একটি vt100 বলতে চাইবেন.
Vt100 টার্মিনাল ব্যবসায় একটি আদর্শ ধরনের. এটা ডিসেম্বর টার্মিনাল থেকে আসে.
আপনি শুধু ডায়ালআপ না - বিজ্ঞপ্তি যে? এই তাই না, ফিরে একটি উপায় যায়?
তাই আমরা শুধু এখানে উপর tset যদি,
আমি শুধু tset না, এটা আমার টার্মিনাল রিসেট এর, কিন্তু আপনি কিছু দেখতে পাইনি.
এটা সত্যিই কিছু পরিবর্তন করা হয়নি.
-S
ঠিক আছে.
setenv TERM xterm রঙিন.
যে পরিবর্তন হয়নি তাই আমরা ইতিমধ্যে, শব্দটি যে ভাবে সেট ছিল না.
আমরা এটা করতে চাই চাই উপায়.
কিন্তু যে এই কমান্ড, tset-S, শুধু আউটপুট এই কমান্ডগুলো বিজ্ঞপ্তি. এটা তাদের চালানো হয়নি.
এই কমান্ড চালানো হয়নি; তাদের এটা আউটপুট.
তাই এই তারপর চালানো হবে কমান্ড উত্পাদন উদ্দেশ্যে.
আপনি যে ফাইলে কমান্ড মনে রাখতে আমি আপনি এটি একটি প্রশ্ন ছিল দেখিয়েছেন.
সুতরাং আসুন যে কাজের জন্য.
প্রশ্ন কিছু আউটপুট শুষে, কিন্তু আপনি দেখতে পারেন যে, এখানে কোন ব্যাপার না.
আমি শুধু এটা কোন ব্যাপার না যে আপনি দেখানোর জন্য যে কাজ করছি.
এই backquote বাক্য গঠন হয়.
Backquote এখানে, এখানে backquote দ্রষ্টব্য.
আমি এখানে এই জিনিস omitting করছি.
এই কি করতে হবে তা বলার ক্ষেত্রে হয়
টার্মিনাল বিশেষ ধরনের ক্ষেত্রে -
ইথারনেট, নেটওয়ার্ক, ডায়ালআপ, আপনি কি.
আমরা আসলে এই যে কোনো কাজ করছি না, কারণ এটা এখানে কোন ব্যাপার না.
আমি শুধু কমান্ড ব্যাখ্যা করছি.
আমি backquote সঙ্গে এই না করা হলে, কি আমি পেতে যাচ্ছি?
এছাড়াও এই সেট noglob এবং আনসেট noglob অন্তর্ভুক্ত যে এখানে লক্ষ্য করা,
তাই যারা এখন সংজ্ঞা অপ্রয়োজনীয় হয়.
এটা সবসময় সত্য ছিল না, কিন্তু এখন তারা এই কমান্ডের মধ্যে অন্তর্ভুক্ত করছি.
কিন্তু এর আমি তা করতে হলে কি দেখতে দিন
এবং কন্ট্রোল একটি সঙ্গে লাইনের শুরুতে যান এবং আমি তা করতে.
ঠিক আছে, সেট: কমান্ড খুঁজে পাওয়া যায় না. যে ধরনের অদ্ভুত, তাই নয় কি এর?
সেট একটি সুপরিচিত কমান্ড. এটা শেল অংশ.
সেট: কমান্ড খুঁজে পাওয়া যায় না? কেন হল?
হুম. ভাল, এর এই সম্পর্কে চিন্তা করা যাক.
এটি একটি backquote কমান্ড প্রতিকল্পন চলমান,
এবং যে কমান্ড পার্সিং ক্রম একটি নির্দিষ্ট অংশ ঘটে.
সেট একটি বিল্ট ইন কমান্ড.
সুতরাং এটা যে কমান্ড প্রতিকল্পন আছে সময় দ্বারা,
এটি ইতিমধ্যে বিল্ট ইন কমান্ড চিহ্নিত বিন্দু অতীতের অর্জিত হচ্ছে.
সুতরাং এটা পাথ কমান্ড হলে সেট একইরূপে.
বলা বাহুল্য, এটা সেটা খুঁজে না এবং আপনি একটি ভুল পান.
ওয়েল. পার্সিং ক্রম একটি উদাহরণ আছে.
এবং আমরা যে বিষয়ে কি করবেন?
Eval, এখানে এই খুব আকর্ষণীয় কমান্ড লক্ষ্য করুন.
আমি যে কি আশ্চর্য.
আপনি ম্যানুয়াল তাকান - এবং যাক এর ঠিক সেটা
এই ম্যানুয়াল কিভাবে বিভ্রান্তিকর প্রদর্শন -
মানুষ tcsh, বিভ্রান্ত ম্যানুয়াল, এখানে জিনিষ খুঁজে পেতে হয় সহজ না.
এখানে আমরা Eval ARG, যান, তাই আমরা 1 বা একাধিক আর্গুমেন্ট থাকতে পারে
এবং জিনিষ একটি তালিকা আছে আছে.
শেল থেকে ইনপুট হিসাবে আর্গুমেন্ট একইরূপে
এবং বর্তমান শেল প্রেক্ষাপটে ফলে কমান্ড executes.
সাধারণত কমান্ডের ফলে উৎপন্ন কমান্ডগুলো ব্যবহার করা হয়
বা পরিবর্তনশীল প্রতিকল্পন পার্সিং এইসব বদল করার আগে দেখা দেয় কারণ.
খুব ভালো.
এবং এখানে তারা এমনকি একটি নমুনা ব্যবহারের জন্য tset কমান্ড পড়ুন
এক মত আমি আপনাকে দেখিয়েছি.
এখন আমি ফিরে একটি দরকারী স্থানে উইন্ডো পেতে আছে.
এর এখানে তরা করি এবং আমরা যে Eval ঠিক যে আগে ব্যবহার করা হয় দেখতে পাবেন.
এখানে আমরা যে কমান্ড তীরচিহ্ন সঙ্গে চলে যান - সুতরাং আসুন আমরা লাগাতে হলে কি দেখতে দিন
এবং শুরুতে কন্ট্রোল এ, Eval.
ঠিক আছে, তাই এটি কাজ করে.
আপনি Eval করতে হলে, তা পরে কি আসে নেয় এবং এটি একটি কমান্ড তোলে.
এই আপনি মূলত দু 'বার তা বিশ্লেষণ করতে সক্ষম হবেন.
এখানে অধ্যায়, backquotes ভিতরে এই কমান্ডটি রান
আউটপুট পায়.
আউটপুট এই মত এখানে যারা কমান্ড হিসাবে চালনা করা অনুমিত হয়
এই এক এবং এই এক সময়ে.
সুতরাং ঐ কমান্ড এখন এখানে এই ক্রমানুসারে হয়,
কিন্তু এই কমান্ডের মধ্যে নির্মিত হয় এবং এটি সরাসরি তাদের পেতে পারে না.
সুতরাং আমরা Eval যান, Eval, যে পছন্দ আপ সব আবার গোটা ব্যাপারটাই শুরু হয়, এবং এটি কাজ করে.
একটি উদাহরণ backquoting উভয়, Eval, পার্সিং, পার্সিং ফলাফল,
এবং সম্ভবত আজকাল আপনাকে খুব অল্প ব্যবহার, যা একটি কমান্ড.
ঠিক আছে. ঠিক আছে, umask.
, আমি কি এখানে এই কমান্ডটি তাকান 022 umask. আমি যে কি আশ্চর্য.
এর ঠিক তা পরে কিছুই সঙ্গে umask টাইপ যাক. 22. ঠিক আছে.
022 এবং এটা আবার কি.
আপনি অনুমিত হয়ে থাকতে পারে যে, কোন আর্গুমেন্ট সঙ্গে umask আপনি বর্তমান মাস্ক বলে;
আর্গুমেন্ট সঙ্গে umask এটা যে তোলে, কিন্তু যে আমি ইতিমধ্যেই ছিল এক.
022 এর অর্থ কি?
এই এখানে একটি ফাইলের জন্য সুরক্ষা হয়.
তারা ফাইল পড়তে বা লিখতে বা এক্সিকিউট করার অনুমতি দেওয়া হয় যারা তা নির্ধারণ.
সুরক্ষা এছাড়াও অনুমতি বলা হয়.
আর, পঠিত, লেখার জন্য W ঘোরা
এবং সেখানে উপস্থিত না যা এক্স,, চালানো ঘোরা.
সেখানে 3 ভাগে ভাগ করা যায়.
গত 3 উপাদান ব্যবহারকারীর বিষয়শ্রেণীতে অন্তর্ভুক্ত হয়. সেগুলো হল, আমার কাছে ইউজার প্রযোজ্য.
এখানে এই 3 দলের ক্ষেত্রে প্রযোজ্য.
ফাইল 1 গ্রুপ জন্যে, ব্যবহারকারী একাধিক গ্রুপ অন্তর্গত হতে পারে,
কিন্তু ব্যবহারকারী এই ফাইল জন্যে যা দলের যদি,
তিনি ইউজার না, তাহলে এই সুরক্ষা তাকে আবেদন করতে হবে.
এবং এই এক বাকিদের হয়.
এই ভাগে পারস্পরিক একচেটিয়া.
ব্যবহারকারী সুরক্ষা তাকে প্রযোজ্য,
গ্রুপ সুরক্ষা, ব্যবহারকারী ছাড়া অন্য দলের সদস্যদের ক্ষেত্রে প্রযোজ্য
এবং অন্যান্য সুরক্ষা একমাত্র ব্যবহারকারী এবং গ্রুপ সদস্য ছাড়া অন্য মানুষের ক্ষেত্রে প্রযোজ্য.
একটি দ বা Aw বা একটি এক্স আছে, এটা সুরক্ষা দেওয়া হয় এর মানে হল যে.
একটি হাইফেন আছে, এটা তাই নয় কি মানে.
আসলে এইসব ছাড়াও এখানে রেখে দেওয়া যেতে পারে যে অন্যান্য বিষয় আছে,
যা আমি এখন মধ্যে পাবেন না.
umask আপনার তৈরি করা ফাইলের জন্য ডিফল্ট সংজ্ঞায়িত করে.
এবং একটি মাস্ক হিসাবে মূলত এটি সেট না বিট বলল.
কিভাবে এই বিট পরিণত হয়েছে?
আপনি একটি অকট্যাল সংখ্যা হিসেবে এই প্রতিটি মনে, যদি
এই, 1s বিট এই 2s, এই 4s হয়.
সুতরাং 0 7 মাধ্যমে
এই 3 আছে আর এর কি সমন্বয়, W এর, এবং এক্স এর বর্ণনা করবে
এবং তারপর এই এবং তারপর এই জন্য জন্য একটি অনুরূপ নম্বর.
সুতরাং 022 অপরের জন্য 0, দলের জন্য 2, ব্যবহারকারীর জন্য 2 মানে.
কিন্তু এই একটি মাস্ক হয়. মাস্ক আপনি না থেকে কি.
আমি দুঃখিত. আমি শুধু ভুল যাতে আপনি জিনিস দিয়েছেন.
এটি প্রথম 3 এর. এই 3 ব্যবহারকারী হন, এই 3 গ্রুপ, এই 3 অন্যান্য রয়েছে.
দুঃখিত আমি ভুল যাতে আপনি এই দিয়েছিলেন.
যারা প্রথম যা 0,,, মান প্রদর্শন করা হয় না
একটি সংখ্যা আছে না কিন্তু যদি এটি একটি 0 এর.
যে এই সব 3 অনুমোদিত হবে মানে.
এই বিশেষ এক এক্স অনুমোদিত নয় যে লক্ষ্য করুন.
কারণ শেল নির্ণয় করতে সক্ষম হয়
কিনা একটি ফাইল মৃত্যুদন্ড কার্যকর করা বা না করা উচিত.
এই একটি এক্সিকিউটেবল ফাইল নয়, এটা এক্স সেট করা হয়নি.
এখানে অনুমতি, দ্বিতীয় শ্রেণী লিখতে যে 2 উপায়ে,
মাঝখানে এক, অস্বীকার করা হয়.
তাই আবার, এই এটা অস্বীকার যে জিনিস.
ভাল, এক্স অনুমোদিত কিন্তু এটা এক্সিকিউটেবল না কারণ এটা এখানে না হয়
এবং একইভাবে অন্যদের জন্য.
সুতরাং যে একটি সাধারণ umask এর.
আরেকটি সাধারণ এক 700 হয় - নিজেকে সবকিছু এবং কোন অন্য এক কিছু দিতে.
এবং অন্যান্য সম্ভাবনা আছে.
আমি ফিরে যে করতে যাবেন. আমি সেখানে যাও LWH, যে জন্য ফিরে অনুসন্ধান করতে পারেন ইতিহাস ব্যবহার করে.
ঠিক আছে. তাই এখানে, এই শাঁস হয়.
ব্যাশ, সিস্টেম অ্যাকাউন্ট যিনি মালিক, সবকিছু করতে পারেন.
গ্রুপ এবং বাকিদের পড়া বা চালানো কিন্তু লিখুন না কিছু করতে পারি.
এই এক এমনকি মালিক তা লিখতে অনুমতি দেয় না.
মালিক,, এটা করার সিস্টেম অ্যাকাউন্ট লিখতে চেয়েছিলেন
তিনি প্রথম সুরক্ষা পরিবর্তন করতে হবে.
কিন্তু আবার, umask এটা মাস্কিং দ্বারা ডিফল্ট সেট করে,
সেট করা যে বিট ইঙ্গিত করে.
এই সি শেল জন্য. Cshrc ', যা আপনার আরম্ভের ফাইল একটিতে সাধারণত হয়
বা বোর্ন-টাইপ শাঁস জন্য. প্রোফাইল.
সিস্টেমে অন্যান্য আরম্ভের ফাইল আছে, যদি এটি অন্য কোথাও হতে পারে.
যাই হোক, যে umask এর.
এখানে অদ্ভুত কিছু ধরনের আছে,
এবং যে কেন একটি কমান্ডের এই জন্য আছে, হয়?
আমি এই লেখা ছিল, আমি এটি একটি পরিবর্তনশীল, umask = কিছু মান যাবে না.
কেন একটি সম্পূর্ণ কমান্ড শুধু এই কাজের জন্য আছে?
কারণ এই মাত্র ফিরে ইউনিক্স উদ্ভব যায় না.
ইউনিক্স 1970 এর দশকে বেল ল্যাবস এ কিছু কিছু প্রোগ্রামিং প্রকল্প ছিল.
মানুষ শুধু প্রোগ্রাম একসাথে পেয়েছিলাম.
তারা এটি একটি বিশ্বব্যাপী অপারেটিং সিস্টেম হতে উদ্দেশ্যে না.
বিভিন্ন মানুষের অনেক চিন্তা ছাড়া বিভিন্ন অংশে লেখেন
বরং অসম্পূর্ণ - কিভাবে তারা ব্যবহার করা যেতে চালু ছিল.
এবং এটা যে মত একসাথে আসেন, এবং এটা কিছু ক্ষেত্রে যে মত এখনও.
সুতরাং যে ইতিহাস প্রতিফলিত করে, এবং এই অসঙ্গতি এবং এটি বিজোড় উপাদান এখনও আছে.
ঠিক আছে. এখানে পরের এক.
আমি আগে লিখেছে হিসাবে, সি শেল সত্যিই, প্রোগ্রামিং জন্য অনেক ব্যবহার করা হয় না
এটা হতে পারে, যদিও.
এটা আরো ধীরে ধীরে, আবার ইন্টারেক্টিভ ব্যবহারের মধ্যে ট্রেড বন্ধ executes
যা গতি বেশী জড়িত আরো প্রক্রিয়াকরণ আছে,
যা প্রক্রিয়াকরণ ছাড়া করতে পারেন.
Korn এবং বোর্ন আবার শেল দ্বারা বোর্ন শেল যোগ অতিরিক্ত বৈশিষ্ট্য
তাদের মন্দীভূত বলে মনে হচ্ছে না, এবং যে কেন আমি জানি না.
এটা ঠিক ভাল প্রোগ্রামিং হতে পারে, কিন্তু আমি জানি একটি অবস্থান নই.
এটা উল্লেখ করা হয়, যদিও এখানে গতি প্রকৃতপক্ষে, যেমন একটি বড় চুক্তি হয় না.
কারণ শেল স্ক্রিপ্ট আসলে মোটামুটি দ্রুত পেতে.
মত কমান্ড অনেক, একটি calculational প্রোগ্রাম আছে
সম্ভবত আপনি একটি শেল স্ক্রিপ্ট মধ্যে তা করে না.
অপারেশন মোটামুটি সহজ এবং সহজবোধ্য আছে.
অত্যন্ত ধীর যে আমি ভুগেছেন বেশী যে
ধীর কমান্ড পুনরাবৃত্তি অ্যাপ্লিকেশন জড়িত.
এর আগে আমি sed প্রবাহ সম্পাদক উল্লেখ করেছে. যে কমান্ড ধীর.
আপনি কিন্তু অনেক বার চালানো হয়, আপনি একটি মন্থর স্ক্রিপ্ট পাবেন, কিন্তু এটি ধীর যে শেল না.
বোর্ন শেল এটি চলমান, সি শেল এটি চলমান তুলনায় অনেক দ্রুত করা সম্ভব হবে না
কিছু সুবিধাও আছে হয়তো আছে, যদিও.
অতিরিক্ত প্রোগ্রামিং ক্ষমতা, অন্য দিকে,
আপনি বোর্ন-টাইপ শাঁস ব্যবহার করেন কেন উল্লেখযোগ্য কারণ.
সি শেল এটা অদ্ভুত বৈশিষ্ট্য আছে -
একটি পরিবর্তনশীল একটি শেল পরিবর্তনশীল অথবা একটি পরিবেশ চলক যদি আপনি জানেন না যে.
এটা খুবই বিভ্রান্তিকর হতে পারে.
এটা লিখতে এত সহজ নয়
শুধু অন্যান্য ভাষায় প্রোগ্রামিং আপনার অভিজ্ঞতার উপর ভিত্তি করে.
আমি আপনাকে আপনার অভিজ্ঞতা দিয়ে বোর্ন-টাইপ শাঁস আরও বেশি সঙ্গতিপূর্ণ হতে পারে না.
কিছু স্ক্রিপ্ট যদিও,, দৈর্ঘ্য লাইন হাজার হাজার হতে পারে.
আমি দেখা করেছি যে যারা অপারেটিং সিস্টেম প্যাচিং জন্য ব্যবহৃত হয়.
যারা খুব ধীরে ধীরে নির্বাহ করতে পারেন, কিন্তু আপনি খুব প্রায়ই যারা চালানো হয় না.
এটা আপনি প্যাচিং করছেন শুধুমাত্র যখন আছে,
এবং এটি সেগুলো আছে যারা শুধুমাত্র সিস্টেম ম্যানেজার এর,
তাই এটা কোনো সমস্যা সত্যিই অনেক না.
লাইন শত শত যে যারা দীর্ঘ আসলে মোটামুটি দ্রুত চালানো.
এখানে এই কথা উল্লেখ করে যারা উন্নত বৈশিষ্ট্য কি কি?
অ্যারে, হিসাব, ​​- আমি ইতিমধ্যে তাদের মধ্যে কয়েকটি উল্লেখ করেছি
$ (ব্যাশ শেলের গণনার জন্য) অভিব্যক্তি,
কমান্ড প্রতিকল্পন অন্যান্য ধরনের.
পরীক্ষার কমান্ড বিভিন্ন ধরনের আছে
যার দ্বারা আপনি একটি ফাইল বা অন্যান্য জিনিস অস্তিত্বের উপর শর্তাধীন পরীক্ষা করতে পারেন.
এখানে সর্বশেষ, এখানে এই কমান্ড.
এই কী কাজ করে, এবং কেন কেহ এটি ব্যবহার করা হবে?
printenv variablename.
আমরা printenv কি জানি. এটা আমাদের একটি ভেরিয়েবলের মান বলে.
এরকম কোন ভেরিয়েবল আছে এবং কারণ printenv variablename আমাদের অনেক বলতে না.
ফাঁকা.
কিন্তু এর এটা অর্থপূর্ণ কিছু দিতে যাক.
যে হয় আছে না. ঠিক আছে. আমি যে সংজ্ঞায়িত না অনুমান.
এর ঠিক আমার পরিবেশে পরীক্ষা করা যাক.
এই কমান্ডের সাহায্যে আপনি আপনার পরিবেশ পরিদর্শন করা যেতে পারে, যা দ্বারা অন্য কমান্ড.
ভাল পুরাতন এডিটর, আমরা আগে দেখেছি এক পর্যন্ত.
যে কী কাজ করে?
এখানে আমরা একটি backquote প্রকাশের আছে.
এই সি শেল হল মনে রাখুন.
সুতরাং printenv এডিটর আমাদের এডিটর একটি মান দিতে হবে. এটি ষষ্ঠ এর.
এবং তারপর এটা পরিবর্তনশীল একটি, সংকলন কমান্ড করার যে মান সেট হবে.
আমি প্রতিধ্বনি $ একটি যদি তাই এখন, আমি ষষ্ঠ পেতে.
যে ভয়ঙ্কর দরকারী বলে মনে হচ্ছে না.
তবে, এটি আসলে একটি উদ্দেশ্য আছে.
আমরা একটি পরিবর্তনশীল একটি শেল পরিবর্তনশীল অথবা একটি এনভায়রনমেন্ট ভেরিয়েবল কিনা জানি না, যেহেতু
ডলার চিহ্ন মূল্যায়ন সিনট্যাক্স ব্যবহার করে, আমরা printenv ব্যবহার করতে পারেন
এটি একটি পরিবেশ চলক যে নিশ্চিত.
একটি শেল পরিবর্তনশীল এডিটর ছিল সুতরাং, যদি এই তা অর্জিত হতো না.
এটি কেবলমাত্র এনভায়রনমেন্ট ভেরিয়েবল সঙ্গে কাজ করে.
সেখানে একটি শেল পরিবর্তনশীল ছিল এবং আমি তার মান চেয়েছিলেন,
আমি এটা করতে অন্য উপায় খুঁজে বের করতে চাই.
যে কি ওয়ান ওয়ে সংকলন ও বংশীধ্বনিতুল্য করে হবে.
এই metacharacters, বিশেষ অক্ষর এক.
এটা অন্য কিছু সেট আউটপুট পাঠায়.
এর আমরা সেখানে খুঁজে পেতে পারে কি দেখতে দিন.
কিছুই. ঠিক আছে. এর ঠিক সব একসঙ্গে সেখানে কি দেখতে দিন.
এটা echo_style, আমি আগে উল্লেখ করেছে এক. ঠিক আছে, এর যে না দেওয়া.
আমি echo_style, আগে উল্লেখ মনে রাখুন
প্রতিধ্বনি কমান্ড চালানো হবে উপায় নির্ধারণ করে.
বিএসডি বার্কলে স্ট্যান্ডার্ড বিতরণ ঘোরা.
এই 1970 থেকে বার্কলে ইউনিক্স হয়.
যে চালাতে পারেন echo উপায় যে এক.
TC-শেল মধ্যে যে মান echo_style সেট প্রতিধ্বনি যে ভাবে আচরণ করে কারণ হবে.
সুতরাং, যে আছে সেট কিন্তু সেট শুধুমাত্র শেল ভেরিয়েবল পায়.
এটি একটি শেল পরিবর্তনশীল নয় যা এডিটর, খুঁজে পাচ্ছি না.
কিছুই.
সুতরাং যে তাদের পার্থক্য এক উপায়.
কিন্তু আপনি যে যে মত কিছু অদ্ভুত কমান্ড দিয়ে যেতে
শেল ভেরিয়েবল বা বিভিন্ন পরিবেশের মধ্যে পার্থক্য
কিছু কাজের জন্য সি শেল অকার্যকর প্রকৃতির ধরনের দেখায়.
এবং এখন, শেষ এবং হয়ত অন্তত, এই লোক পৃষ্ঠা.
আপনি জানতে পারেন যারা যারা, মানুষ ম্যানুয়াল জন্য কমান্ড ছোট.
শাঁস জন্য man পৃষ্ঠা পড়া কঠিন. তারা খুব দীর্ঘ করছি.
তারা এটা কঠিন আপনি যা খুঁজছেন তা খুঁজে করতে পারে একটি উপায় যে আয়োজন করছি.
তাই আপনি যদি একটি উদ্দেশ্য সঙ্গে কিছু খুঁজছেন করছি,
যে উদ্দেশ্য শেল পরিবর্তনশীল অথবা অন্য কিছু যদি আপনি জানেন না হতে পারে
যাতে আপনি যেখানে এটি জন্য সন্ধান জানি না হতে পারে.
আপনি বিভিন্ন স্ট্রিং জন্য সন্ধান করতে পারেন, কিন্তু স্ট্রিং প্রায়ই পুনরাবৃত্ত হয়.
সুতরাং এটি সাধারণত পড়া কঠিন.
আমরা শুধু Eval কমান্ড খুঁজে পেতে একটু আগে যে সকল TC-শেল man পৃষ্ঠা দিকে তাকিয়ে.
কিছু জিনিস দ্রুত যান.
এক পদ্ধতির একটি স্ট্রিং জন্য অনুসন্ধান করা হয়.
আপনি পেজার ব্যবহার করতে পারেন.
পেজার একটি পেজার অপারেশন ভিতরে একটি কমান্ড বা একটি স্ট্রিং জন্য সন্ধান স্ল্যাশ আছে.
ডিফল্টরূপে ম্যান বা আরো কম হতে হয়, pagers ব্যবহার করতে হবে.
আপনি সেই সঙ্গে পরিচিত হন তাহলে আমি জানি না, কিন্তু যারা বিট দ্বারা ফাইল বিট প্রদর্শন করতে পারেন.
আমি মনে করি আমরা এখানে পেয়েছেন এই বিশেষ ফাইল প্রদর্শন করতে কম ব্যবহার করছি.
আপনি সেখানে ভিতরে সন্ধান করতে পারেন.
আপনি বিভিন্ন সার্চ স্ট্রিং ব্যবহার করে চেষ্টা করতে পারেন.
এছাড়াও বিভিন্ন অপারেটিং সিস্টেমের মধ্যে man পৃষ্ঠা একই নাও হতে পারে.
তারা csh ও tcsh জন্য পৃথক পেজ হতে পারে.
তারা করছি ম্যাক না, কিন্তু যারা পৃথক কমান্ড যদি তারা হতে পারে.
SH সত্যিই ব্যাশে কল না হয়, তাহলে সম্ভবত একটি পৃথক man পৃষ্ঠা হতে পারে.
কিছু সিস্টেমের শুধু সি শেল বিল্ট ইন কমান্ড জন্য পৃথক man পৃষ্ঠা আছে.
কখনও কখনও আপনি একটি বিল্ট ইন কমান্ড একটি বিবরণ পড়তে চান
যে পাথ এছাড়াও, প্রতিধ্বনি মত, আপনি প্রতিধ্বনি নেভিগেশন যে কমান্ড নেভিগেশন man পৃষ্ঠা পড়া প্রয়োজন
এটি একটি বিল্ট ইন কমান্ড হিসেবে কাজ করবে কিভাবে নির্ধারণ
আপনি বিল্ট ইন কমান্ড আহ্বান করছি না, এমনকি যদি.
যে সাধারণ অপারেটিং সিস্টেমের একটি অপূর্ণতা আছে, শাঁস জন্য না শুধু,
শাঁস জন্য বিশেষ করে man পৃষ্ঠা, বেশ দীর্ঘ, যদিও
আংশিক কারণ তারা একটি ইতিবাচক হতে পারে, যা তাদের জন্য উপযোগী বৈশিষ্ট্য যুক্ত করেছি.
ঠিক আছে. কোন প্রশ্ন আছে? আপনি আসা চাই কোন বিষয়?
এখানে প্রাসঙ্গিক কিছু?
ওয়েল, এটা আপনাকে সব কথা বলা খুবই ভালো ছিল.
আমি আপনাকে এই সেমিনারে কিছু আউট আছে আশা করি
যে আপনার ভবিষ্যতে চেষ্টা আপনার জন্য উপযোগী হতে হবে.
[CS50.TV]