কমান্ডের সাহায্যে উপন্যাস কীভাবে তৈরি করা যায় তাতে 'এবং "থাকে


10

কিছু পোস্ট আগে কেউ জিজ্ঞাসা করেছিল যে কীভাবে শতাংশে স্মৃতি প্রদর্শন করতে হয়। কেউ উত্তর দিয়েছিল:

free | awk '/^Mem/ { printf("free: %.2f %\n", $4/$2 * 100.0) }'

আমি ভাবছিলাম যে আমি এই কমান্ডটিকে alias / .bashrc- এ একটি উপাধিতে পরিণত করতে পারি কিনা। তবে উপনামের বাক্য গঠনটি হ'ল:

alias aliasname='command'

কিভাবে আমি এটি করতে পারব? এই আদেশে 'এবং উভয়ই রয়েছে "। আমি বিভিন্ন উপায়ে চেষ্টা করেছি, কিন্তু এটি কার্যকর হয়নি। এটা কি সম্ভব? আমি কিছু অনুপস্থিত করছি?


5
জাহান্নামের উদ্ধৃতি এড়াতে এ জাতীয় ক্ষেত্রে কোনও ফাংশন সংজ্ঞা দেওয়া আরও সহজ হতে পারে।
nohillside

1
@ নোহিলসাইড ফাংশনগুলি যাইহোক সাধারণত আরও কার্যকর / শক্তিশালী
ডি বেন ননবলে

1
aliasname() { free | awk '/^Mem/ { printf("free: %.2f %\n", $4/$2 * 100.0) }'; }- এখনও কেবল একটি লাইন, উদ্ধৃতি / পলায়ন / ইত্যাদির কোনও প্রয়োজন নেই। ফ্রিনোড # ব্যাশ চ্যানেল ফ্যাকটোড হওয়ার একটি কারণ !aliasরয়েছে (ভাল ছিল , তবে বেশিরভাগ ফ্যাক্টয়েড বটের জীবনে কিছুটা বৈকল্পিক): যদি আপনাকে জিজ্ঞাসা করতে হয় তবে পরিবর্তে কোনও ফাংশন ব্যবহার করুন
চার্লস ডাফি

উত্তর:



17

বলার অপেক্ষা রাখে না যে একটি উপনামের বাক্য alias aliasname='command'গঠনটি কিছুটা বিভ্রান্তিমূলক, কারণ এর থেকে বোঝা যাচ্ছে যে একক উদ্ধৃতিগুলি সিনট্যাক্সের অংশ। তারা না. সমান চিহ্নের পরে অংশটি ভেরিয়েবল অ্যাসাইনমেন্টের সমান, কারণ এটি কোনও শেল শব্দ হতে পারে, যে কোনও একটি সরল অক্ষর (উদ্ধৃতি ব্যতীত), বা একটি উদ্ধৃত স্ট্রিং, বা সংমিশ্রণ দ্বারা গঠিত।

এগুলি সমস্ত বৈধ, এবং শেষ তিনটি সমতুল্য:

alias ks=ls
alias ls='ls -l'
alias ls="ls -l"
alias ls=ls\ -l

সুতরাং, আপনাকে যা করতে হবে তা হ'ল উপন্যাসটির ভিতরে থাকা মানগুলি যথাযথভাবে পালাতে হবে।

দেখুন, উদাহরণস্বরূপ এই উত্তর এবং অন্যান্য উত্তরগুলি এই বিষয়ে আলোচনার জন্য এই প্রশ্নগুলি:

অথবা, ইস্যুগুলি সম্পূর্ণ উদ্ধৃত করার জন্য একটি উলের পরিবর্তে ফাংশন ব্যবহার করুন:

freemem() {
    free | awk '/^Mem/ { printf("free: %.2f %\n", $4/$2 * 100.0) }'
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.