আমি কীভাবে স্থায়ী বাশ উপনাম তৈরি করব?

আমি এখানে একটি উপনাম তৈরি করতে চাই rm আদেশ এই কমান্ড নির্বাহ পরে একটি নিশ্চিতকরণ বার্তা আছে. সুতরাং আমি এর মতো একটি উপনাম তৈরি করছি alias rm='rm -i'. কিন্তু যতদূর আমি জানি এটি একটি অস্থায়ী উপনাম এবং আপনি টার্মিনালটি বন্ধ না করা পর্যন্ত এটি বেঁচে থাকে.

এটি ব্যাখ্যা করা হয় এখানে স্থায়ীভাবে এলিয়াস সংরক্ষণ করতে আমাকে কার্যকর করতে হবে ~/.bash_aliases অথবা ~/.bashrc টার্মিনালে কমান্ড এবং সেখানে আমার উপনাম যোগ করুন. কিন্তু যখন আমি চালানো ~/.bashrc আমি নিম্নলিখিত ত্রুটি বার্তা পেতে :

bash: /home/bakhtiyor/.bashrc: Permission denied

যখন আমি দৌড়াই ~/.bash_aliases আমি এর মতো আরও একটি ত্রুটি বার্তা পেয়েছি:

bash: /home/bakhtiyor/.bash_aliases: File or directory doesn't exist.

আসল সমস্যাটি কী এবং আমি কীভাবে এটি সমাধান করতে পারি?

একটি উপনাম তৈরি করতে স্থায়ীভাবে আপনার উপনামটি যুক্ত করুন .bashrc ফাইল

gedit ~/.bashrc

এবং তারপর নীচে আপনার উপনাম যোগ করুন.

alt text

এখন চালানো . ~/.bashrc আপনার টার্মিনালে (এর মধ্যে একটি স্থান থাকা উচিত . এবং ~/.bashrc.

এখন আপনি আপনার ওরফে চেক করতে পারেন.

alt text

একটি উপনাম তৈরি করার উপায় অনেক আছে. সর্বাধিক ব্যবহৃত উপায়গুলি হ ' ল:

  1. আপনার সরাসরি এলিয়াস যুক্ত করুন ~/.bashrc ফাইল

    উদাহরণ স্বরূপ: এই লাইনটি এতে যুক্ত করুন ~/.bashrc ফাইল

    alias ll='ls -l'alias rm='rm -i'

    পরবর্তী সময় (আপনি লগ আউট/ইন, বা সম্পন্ন করার পরে . ~/.bashrc) যখন আপনি টাইপ করুন rm দ্য rm -i কমান্ড কার্যকর করা হবে.

  2. দ্বিতীয় পদ্ধতিটি আপনাকে একটি পৃথক এলিয়াস ফাইল তৈরি করতে দেয়, সুতরাং আপনাকে এগুলি লাগাতে হবে না .bashrc, কিন্তু আপনার পছন্দের একটি ফাইল. প্রথমে আপনার সম্পাদনা করুন ~/.bashrc নিম্নলিখিত লাইনগুলি ইতিমধ্যে উপস্থিত না থাকলে ফাইল করুন এবং যুক্ত করুন, বা তারা যদি তা না করে তবে সেগুলি আনকমমেন্ট করুন:

    if [ -f ~/.bash_aliases ]; then. ~/.bash_aliasesfi

    এটি সংরক্ষণ করুন এবং ফাইল বন্ধ করুন. এর পরে, আপনাকে যা করতে হবে তা হ ' ল একটি তৈরি করা ~/.bash_aliases প্রথম পদ্ধতিতে উল্লিখিত একই ফর্ম্যাট সহ সেখানে আপনার এলিয়াসগুলি ফাইল করুন এবং যুক্ত করুন

    আমার বিষয়বস্তু ~/.bash_aliases ফাইল:

    alias cs='cd;ls'

আপনার একমাত্র সমস্যা কেবল চালানো চেষ্টা করছে মত এটা আমার শোনাচ্ছে .বিএএসএইচআরসি যখন কার্যকর হয় না তবে এটি করার সঠিক উপায় নয়; আপনি যখনই এই ফাইলটিতে পরিবর্তন করেন, আপনার কমান্ড দ্বারা এটি "কার্যকর" করা উচিত:

source ~/.bashrc

অন্যথায়, এটি কেবল একটি নতুন শেল তৈরি করবে, নতুন শেলের পরিবেশে ফাইলটি কার্যকর করবে, তারপরে সেই পরিবেশটি বাতিল করবে যখন এটি প্রস্থান করবে, যার ফলে আপনার পরিবর্তন হ্রাস পাবে স্ক্রিপ্ট গুন দ্বারা, এটি বর্তমান শেল মধ্যে সঞ্চালন করে, তাই এটি কার্যকর থাকবে.

আমি ধরে নিচ্ছি যে দ্বিতীয় ত্রুটিটি ছিল কারণ বাশ_এলিয়াসগুলির অস্তিত্ব নেই এটা শুধু পৃথক এবং সংগঠিত আপনার পরিবর্তনগুলি রাখা বাঞ্ছনীয়, প্রয়োজন হয় না. এটি বিদ্যমান থাকলে এটি কেবল ব্যবহৃত হয় এবং আপনি এটির জন্য পরীক্ষাটি দেখতে পারেনবাশার:

if [ -f ~/.bash_aliases ]; then. ~/.bash_aliasesfi

এই বলে যে যদি ফাইল ~/.ব্যাশ_এলিয়াস বিদ্যমান, তারপর এটি চালান.

সমস্যাটি হ ' ল আপনি একটি এক্সিকিউটেবল ফাইল কার্যকর করার চেষ্টা করছেন:আপনি এটি দিয়ে পরীক্ষা করতে পারেন:

ls -la ~/.bashrc-rw-r--r-- 1 username username 3596 2010-08-05 17:17 /home/pt001424/.bashrc

মনে রাখবেন প্রথম কলামে কোনও "এক্স - এক্সিকিউটেবল" চিঠি নেই (ফাইলের অনুমতি).

প্রোফাইল ফাইলগুলি এক্সিকিউটেবল ফাইল নয়, সেগুলি কার্যকর করার পরিবর্তে আপনি সেগুলি লোড করেন:

source /home/bakhtiyor/.bashrc

অথবা

. /home/bakhtiyor/.bashrc
echo "alias vps='ssh -X user@example.com'" >> ~/.bashrc

এটি একটি উদাহরণ যা আমি খুঁজছিলাম, টার্মিনালে কয়েকটি অক্ষর টাইপ করার একটি উপায় ("ভিপিএস") দূরবর্তীভাবে কোনও সার্ভারে লগ ইন করতে এবং এক্স 11 ফরওয়ার্ডিং সক্ষম করতে যাতে আমি জিইউআই অ্যাপ্লিকেশনগুলি চালাতে পারি "জিএডিট" নেটওয়ার্কের মাধ্যমে.

>>কমান্ড / এলিয়াসড কমান্ড যাই হোক না কেন, প্রতিধ্বনি বিবৃতি, উদ্ধৃতি চিহ্ন এবং কোনও ফাইলে কমান্ডের আউটপুট যুক্ত করার প্রতীক সহ এইভাবে () আমার জন্য কাজ করে. আপনার প্রয়োজনীয় ওরফে কমান্ডের জন্য আমার কমান্ডটি প্রতিস্থাপন করুন এবং এটি আপনার টার্মিনালে প্রবেশ করুন

আমি দ্রুত একটি নতুন উপনাম তৈরি করতে এই সহায়ক ফাংশন লিখেছি, এবং তারপর উপনাম সংজ্ঞা লিখুন ~/.bash_aliases (যদি থাকে) অথবা ~/.bashrc.

টিপ: নিশ্চিত করুন ~/.bash_aliases বিদ্যমান & বিশ্বকাপ; মৃত্যুদন্ড কার্যকর করা হয় ~/.bashrc.

# -----------------------------------#  Create a new permanent bash alias##  @param $1 - name#  @param $2 - definition# -----------------------------------new-alias () {   if [ -z "$1" ]; then    echo "alias name:" && read NAME  else    NAME=$1  fi  if alias $NAME 2 > /dev/null > /dev/null; then    echo "alias $NAME already exists - continue [y/n]?" && read YN    case $YN in      [Yy]* ) echo "okay, let's proceed.";;      [Nn]* ) return;;      * ) echo "invalid response." && return;;    esac  fi  if [ -z "$2" ]; then    echo "alias definition:" && read DEFINTION  else    DEFINTION="$2"  fi  if [ -f ~/.bash_aliases ]; then    echo "alias $NAME=\"$DEFINTION\"" >> ~/.bash_aliases  else    echo "alias $NAME=\"$DEFINTION\"" >> ~/.bashrc  fi  alias $NAME="$DEFINTION"}

আপনি যদি রুবি ব্যবহার করেন তবে আপনি রুবিজেম ব্যবহার করে ওরফে ইনস্টল করতে পারেন

gem install aka2

ব্যবহার

aka generate hello="echo helloworld" #add an aliasaka g hello="echo helloworld"  #add alias for lazy peopleaka destroy hello #remove aliasaka d hello #remove alias for lazy people

রুবিজেম আপনার ডট ফাইলটি স্বয়ংক্রিয় উত্স করবে যাতে আপনার প্রয়োজন হয় না এটি পরীক্ষা করে দেখুন.

আমি এই ধারণা প্রসারিত করতে চাই!

আপনি চান alias আপনার প্রশ্ন অনুযায়ী একটি আদেশ:

echo "alias wolfr='cd /home/wolf'">>./~bashrc

এখন আপনি টাইপ করতে পারেন wolfr নেকড়ে এর হোম ডিরেক্টরি থেকে সরানো.

এই খুব অনুরূপ এবং খুব শান্ত, export কমান্ড:

echo "export ngse=/etc/nginx/sites-enabled"./~bashrc

এখন আপনি টাইপ করতে পারেন cp $ngse/my_file /destination_directory/destination_filename একটি গন্তব্য সাইট-সক্রিয় ডিরেক্টরি থেকে একটি ফাইল কপি করুন.

আপনি এই জাতীয় কিছু না করা পর্যন্ত এর কোনওটিই কাজ করবে না:

exec bash

অন্যথা, আপনি পুনরায় লগ করতে পারেন অথবা আপনি পুনরায় বুট করতে পারেন.

আমি ব্যবহার করার পরামর্শ দেব /etc/bash.bashrc

আপনি যে ফাইলের শেষে লাইন যোগ করতে পারেন.

alias ok="ping google.com"

প্রতি লাইনে এলিয়াস রাখার পরে আপনাকে পুনরায় বুট করতে হবে বা পুনরায় চালু করতে হবে.

যেমন আমি স্মরণ করি, bashrc সরাসরি এলিয়াসগুলির জন্য এটি ব্যবহার না করার পরামর্শ দেওয়া একটি লাইন রয়েছে বা ছিল দ্য সমাধান একটি বাহ্যিক ফাইল(গুলি) ব্যবহার করা হয়. দ্য foo এবং bar এলিয়াসগুলি যুক্ত করা হয়েছে, তবে যুক্ত করতে baz দ্য bashrc ফাইল হতে হবে "উত্সযুক্ত" (বা, কেবল একটি নতুন টার্মিনাল খুলুন). যেমন উদাহরণ:

thufir@dur:~$ thufir@dur:~$ aliasalias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'alias bar='echo foo'alias egrep='egrep --color=auto'alias fgrep='fgrep --color=auto'alias foo='echo foo'alias grep='grep --color=auto'alias l='ls -CF'alias la='ls -A'alias ll='ls -alF'alias ls='ls --color=auto'thufir@dur:~$ thufir@dur:~$ cat .bash_aliases alias foo='echo foo'alias bar='echo foo'alias baz='echo baz'thufir@dur:~$ thufir@dur:~$ source .bashrc thufir@dur:~$ thufir@dur:~$ aliasalias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'alias bar='echo foo'alias baz='echo baz'alias egrep='egrep --color=auto'alias fgrep='fgrep --color=auto'alias foo='echo foo'alias grep='grep --color=auto'alias l='ls -CF'alias la='ls -A'alias ll='ls -alF'alias ls='ls --color=auto'thufir@dur:~$ thufir@dur:~$ bazbazthufir@dur:~$ 

এখন baz উপনাম কাজ করে. আমি কেবল এখনই বুঝতে পেরেছিলাম যে পূর্ববর্তী উত্তরটি ছিল উল্লিখিত এই কৌশল, কিন্তু তারা লেদে কবর ছিল.

** উত্তর* * - How to find out where alias (in the bash sense) is defined when running Terminal in Mac OS X - Stack Overflow

'এলিয়াস আরএম= ’ আরএম-আই" আরএম এলোমেলোভাবে ব্যবহার করার সমস্যাটি সমাধান করে না

উবুন্টু সম্পর্কে কি ডাব্লুএসএল বলছি ?