ইউনিক্স / লিনাক্সে কাস্টম কমান্ড কীভাবে তৈরি করবেন? [বন্ধ]


55

যে কেউ আমাকে ইউনিক্স / লিনাক্সে কাস্টম কমান্ড তৈরি করতে গাইড করতে পারে।


2
ভবিষ্যতের রেফারেন্সের জন্য আপনার তথ্য পৃষ্ঠাটি পরীক্ষা করা উচিত। এটি আপনার প্রশ্নগুলিতে আপনার কী রাখা উচিত তা ব্যাখ্যা করে। (যেমন আপনি গবেষণা এবং চেষ্টা করেছেন এমন জিনিসগুলি পোস্ট করা)। কেউ সম্ভবত এই প্রশ্নটিকে ডাউন ভোট দিয়েছে likely
স্পুডার

উত্তর:


68

আপনার / usr / বিন ফোল্ডারে একটি বাশ স্ক্রিপ্ট তৈরি করুন, এটি এর মতো দেখতে হবে

#!/bin/bash
Whatever combination of commands you want to run when you type this thing.

এটা সত্যিই যে সহজ।

আপনি টার্মিনালে যা টাইপ করতে চান তা কেবলমাত্র বাশ স্ক্রিপ্টের নাম দিন, এবং এটি অনুগ্রহযোগ্য করে তুলুন: chmod +x filenameএবং আপনি ভাল!


1
আপনি কি এটিকে প্রতিটি প্রয়োজনীয় পদক্ষেপ সহ ধাপে ধাপে গাইড হিসাবে সংশোধন করতে পারেন? আমি নিজের কাস্টম কমান্ডটি কীভাবে তৈরি করব তা এখনও নিশ্চিত নই।
Yoda

5
@ অ্যান্ডারস এমবি, আপনার একটি বই পড়তে হবে । অনেক ভাল আছে, এমনকি বিনামূল্যে পাওয়া যায়। "দ্য লিনাক্স কমান্ড লাইন" দিয়ে শুরু করুন ।
ওয়াইল্ডকার্ড

উম্মম .. সে ঠাট্টা করছিল। সে ঠাট্টা করছিল , তাই না ?!
সোমেনাথ সিনহা

1
সাথে ./filename
চালিত করুন

46
  1. আপনার হোম ডিরেক্টরিতে "বিন" বলে একটি ডিরেক্টরি তৈরি করুন।
  2. এই বিন ডিরেক্টরিটি অন্তর্ভুক্ত করতে আপনার পাথ ভেরিয়েবল আপডেট করুন। এটি স্থায়ী করতে এটিকে .profileবা .bash_profleফাইলটি রাখুন ।

    export PATH=$PATH":$HOME/bin"

  3. "হ্যালো" বলে একটি স্ক্রিপ্ট তৈরি করুন এবং এটি আপনার বিন ডিরেক্টরিতে রেখে দিন। এর মাধ্যমে হ্যালো স্ক্রিপ্টকে সম্পাদন করার অনুমতি দিন $ chmod +x hello

    #!/bin/bash    
    echo My first program
  4. পুনরায় লোড করুন .profileবা .bash_profle:

    $ . ~/.bash_profile

  5. যে কোনও ডিরেক্টরি থেকে, আপনি কেবল টাইপ করুন:

    $ hello
    My first program

আমি জানি এটি খুব পুরানো তবে আমি binএখানে প্রচুর উত্তরে একটি ফোল্ডার তৈরি করার পরামর্শটি দেখেছি । এর .binপরিবর্তে যদি কোন সমস্যা হয় bin? আমার homeচেহারা কেমন তা সম্পর্কে আমি সত্যিই খুব আগ্রহী এবং কেবলমাত্র একটি অতিরিক্ত ফোল্ডার চাই না।
এমও

আমি এটি অসফলভাবে ব্যবহার করার চেষ্টা করেছি এবং আমার zshইনস্টলটির সাথে কিছু ভুল হয়েছে বা $PATHভেবে কিছুটা সময় খুব হতাশ হয়েছিলাম তবে এটি শেষ chmod -x helloহয়েছিল যে এটি কাজ করছে না, একটি পুঁজিও নয় -X। পরিবর্তে আমি চেষ্টা করেছিলাম chmod 755 hello, যদিও এই কমান্ডের সাথে সুরক্ষা ঝুঁকি সম্পর্কে আমি নিশ্চিত নই তবে এটি আসলে আমাকে চালাতে দেয় hello। কারও কি এর জন্য ব্যাখ্যা আছে? আমি ধরে নিচ্ছি এটি বয়সের ক্ষেত্রে সমস্যা?
কনস্ট্যান্টফুন

1
@ কনস্ট্যান্টফুন chmod +x helloস্ক্রিপ্টে 'রান' সুবিধা যুক্ত করতে ব্যবহার করুন। chmod -x helloঠিক এর বিপরীতে কাজ করে - 'রান' সুবিধাগুলি সরিয়ে দেয়। (লক্ষ্য করুন উত্তর এবং আপনার মন্তব্যে প্লাস / বিয়োগ চিহ্ন পার্থক্য।)
ফিলিপ শুভ

25

সহজ, একটি উপাধি তৈরি করুন।

বলুন যে আপনি আপনার ডাউনলোড ডিরেক্টরিতে সিডি করতে একটি আদেশ লিখতে চান। এবং আপনি এটি সিডিডি বলতে চান।

alias cdd='cd ~/Downloads' 

আপনি যে কোনও কমান্ড চান তা তৈরি করতে পারেন।

এখানে আরও তথ্য:
http://www.mediacolleg.com/linux/command/alias.html


6
যদিও এটি অধিবেশন জুড়েই চলবে না। এই আদেশটি কাজ করে তবে স্থায়ী নয় isn't আরও স্থায়ী উপায় হ'ল আপনার ~ / .Bash_aliases ফাইলটি সংশোধন করা এবং আপনি সেখানে প্রস্তাবিত লাইন যুক্ত করুন।
জেফ গ্রিমস

2
এটি আপনার ~ / .bashrc ফাইলটিতে যুক্ত
করেও

11

বেশিরভাগ ক্ষেত্রে, এখনই যদি না হয় তবে লিনাক্স ডিস্ট্রিবিউশনগুলির কাছে script / .bashrc এ একটি ছোট স্ক্রিপ্ট রয়েছে যা এটি প্রায় অনুরূপ দেখায়:

if [ -e ~/.bash_aliases ]
then
. ~/.bash_aliases
fi

এর অর্থ হ'ল আপনি নিজের কমান্ড তৈরি করতে পারেন ( aliasesসাধারণত ' ' হিসাবে পরিচিত আপনার কিছু যুক্তি যা আপনাকে সর্বদা ব্যবহার করতে হয় বা কমান্ডের একটি তালিকা যাতে ক্রমান্বয়ে কার্যকর করতে হয় তার সাথে পরিচিত)।

আপনার লিনাক্স বিতরণে সম্ভবত আপনার বাড়িতে .bash_aliases ফাইলটি তৈরি করা হবে না, যদি না আপনি ম্যানুয়ালি ইতিমধ্যে তা না করে থাকেন। ফাইল তৈরি করতে, নিম্নলিখিত কমান্ডটি টাইপ করুন:
touch ~/.bash_aliases

আপনি যখন নতুন টার্মিনালটি বন্ধ করবেন তখন এই ফাইলটি স্বয়ংক্রিয়ভাবে কার্যকর হবে।

আপনি এখন যা করতে পারেন তা হ'ল এলিয়াসগুলির একটি তালিকা তৈরি করুন এবং সেগুলি পরে ব্যবহারের জন্য সেই ফাইলটিতে যুক্ত করুন। উদাহরণস্বরূপ, rmডিফল্টরূপে (অপসারণ) কমান্ড কোনও ফাইল / ডিরেক্টরি মুছতে বললে আপনাকে অনুরোধটি নিশ্চিত করতে জিজ্ঞাসা করে না। তবে, একটি যুক্তি রয়েছে যা rmআপনাকে আপনার অনুরোধটি নিশ্চিত করতে বলতে বলে -i,। সুতরাং, rm -i filePathআপনি নির্দিষ্ট ফাইলটি মুছতে চান কিনা তা নিশ্চিত হওয়ার বিষয়ে আপনাকে জিজ্ঞাসা করে একটি বার্তা প্রদর্শিত হবে। এখন, আপনি যদি দুর্ঘটনাক্রমে কোনও ফাইল মুছতে থাকেন তবে আপনি সম্ভবত -iবিকল্পটি অন্তর্ভুক্ত করতে ভুলে যাবেন এবং এটিই aliasখুব উপকারী। নিম্নলিখিত কমান্ডটি টাইপ করা হচ্ছে

echo "alias rm='\rm -i'" >> ~/.bash_aliases

বলবে Bashযে প্রতিবার আপনি কোনও ফাইল মুছতে অনুরোধ করবেন, আপনাকে একটি নিশ্চিতকরণ বার্তা প্রদর্শিত হবে। অবশ্যই, আপনি আরও অনেক কিছু করতে পারেন — এটি কেবলমাত্র মূল বিষয়গুলি।

তুমি কেমন কিছু মৌলিক কমান্ড ব্যবহার করতে (অর্থাত জানতে চান cd, touch, rm, mkdir, pushd, popd, ইত্যাদি) এবং / অথবা আরো পরিশীলিত বেশী, আমি খুব ভাল বই আপনি থাকতে পারে আপনার বইয়ের থাকটি উপর একটি রেফারেন্স নামক যেমন বলতে চাই

লিনাক্সের একটি ব্যবহারিক নির্দেশিকা সম্পাদক জি এবং সোবেল দ্বারা সম্পাদক এবং শেল প্রোগ্রামিং কমান্ড । আইএসবিএন: 978-0133085044


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