چگونه می توانم یک مستعار باش دائم ایجاد کنم؟


به جواب پذیرفته شده بروید




من می خواهم یک نام مستعار برای 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.
 

مشکل واقعی چیست و چگونه می توانم آن را حل کنم؟


388









9 :تعداد پاسخها


برای ایجاد یک نام مستعار ، نام مستعار را برای همیشه به .bashrc پرونده خود اضافه کنید

 gedit ~/.bashrc
 

و سپس نام مستعار خود را در انتها اضافه کنید.


متن جایگزین

اکنون . ~/.bashrc در ترمینال خود اجرا کنید (باید فضایی بین . و وجود داشته باشد ~/.bashrc .

اکنون می توانید نام مستعار خود را بررسی کنید.


متن جایگزین


441



برای ایجاد یک نام مستعار روش های زیادی وجود دارد. پر کاربردترین روش ها:

  1. نام مستعارها را مستقیماً در ~/.bashrc پرونده خود اضافه کنید

    به عنوان مثال: این خط را به ~/.bashrc پرونده اضافه کنید

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

    بار دیگر (بعد از ورود به سیستم / ورود به سیستم یا انجام کار . ~/.bashrc ) هنگام وارد rm کردن rm -i دستور اجرا خواهد شد.

  2. روش دوم به شما امکان می دهد تا یک پرونده مستعار جداگانه تهیه کنید ، بنابراین نیازی به قرار دادن آنها .bashrc نیست ، بلکه به پرونده ای از انتخاب شما است. ابتدا ~/.bashrc پرونده خود را ویرایش کرده و در صورت وجود آنها خطوط زیر را اضافه کنید یا در صورت وجود آنها را از اعتبار خود خارج کنید:

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

    آن را ذخیره کرده و پرونده را ببندید. پس از آن ، تمام کاری که شما باید انجام دهید ایجاد ~/.bash_aliases فایل و اضافه کردن نام های مستعار خود در آنجا است ، با همان قالب مشخص شده در روش اول.

    مطالب ~/.bash_aliases پرونده من :

     alias cs='cd;ls'
     

256



برای من به نظر می رسد که تنها مشکل شما فقط اجرای آن نیست .bashrc در هنگام اجرا نیست. اما این روش صحیحی برای انجام آن نیست. هر وقت تغییری در این پرونده ایجاد کردید ، باید آن را با دستور "اجرا کنید":

 source ~/.bashrc
 

در غیر این صورت ، به سادگی یک پوسته جدید ایجاد خواهد کرد ، پرونده را در محیط پوسته جدید اجرا کنید ، سپس هنگام بیرون آمدن از آن محیط دور ریخته و در نتیجه تغییر خود را از دست دهید. با جستجوی فیلم نامه ، آن را درون پوسته فعلی اجرا می کند ، بنابراین این اثر همچنان باقی می ماند.

من فرض می کنم خطای دوم به این دلیل است که bash_aliases وجود ندارد. لازم نیست ، فقط توصیه می شود تغییرات خود را جداگانه و سازمان یافته نگه دارید. فقط در صورت وجود استفاده می شود ، و می توانید آزمایش آن را در .bashrc مشاهده کنید:

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

این می گوید اگر پرونده ~ / .bash_aliases وجود دارد ، آن را اجرا کنید.


19



مشکل این است که شما سعی در اجرای یک پرونده غیر اجرایی دارید: می توانید این موارد را با:

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

توجه داشته باشید که هیچ حرف "x - اجرایی" در ستون اول (مجوز پرونده) وجود ندارد.

فایلهای نمایه فایلهای اجرایی نیستند ، به جای اجرای آنها ، آنها را بارگیری می کنید:

 source /home/bakhtiyor/.bashrc
 

یا

 . /home/bakhtiyor/.bashrc
 

17



 echo "alias vps='ssh -X [email protected]'" >> ~/.bashrc
 

این مثالی است که من به دنبال آن بودم ، روشی برای تایپ چند حرف در ترمینال ("vps") برای ورود از راه دور به سرور و فعال کردن ارسال X11 ، بنابراین می توانم برنامه های gui مانند "gedit" را از طریق شبکه اجرا کنم.

هر چه دستور / aliased را انجام دهید ، این روش با عبارت echo ، علامت نقل قول ها و نمادی برای اضافه کردن خروجی یک فرمان به یک پرونده (>>) برای من کار می کند. فقط دستور من را برای دستور alias مورد نیاز خود جایگزین کنید و آن را وارد ترمینال خود کنید.


7



اگر از rubygem استفاده می کنید ، می توانید aka را با استفاده از rubygem نصب کنید.

gem install aka2

استفاده

 aka generate hello="echo helloworld" #add an alias
aka g hello="echo helloworld"  #add alias for lazy people

aka destroy hello #remove alias
aka d hello #remove alias for lazy people
 

rubygem به صورت خودکار فایل نقطه شما را تهیه می کند تا نیازی به آن نباشد. بررسیش کن


5



من این کارکرد مفید را برای ایجاد سریع نام مستعار جدید نوشتم و سپس تعریف نام مستعار را برای ~/.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"
}
 

4



من استفاده را پیشنهاد می کنم /etc/bash.bashrc

می توانید خط را در انتهای آن پرونده اضافه کنید.

 alias ok="ping google.com"
 

پس از قرار دادن نام های مستعار در هر خط ، مجدداً راه اندازی مجدد شوید یا دوباره وارد شوید.


0



همانطور که به یاد می آورم ، bashrc خطی وجود داشته یا داشته است ، که نشان می دهد مستقیماً از آن برای مستعار استفاده نکنید. راه حل است به استفاده از یک فایل خارجی (بازدید کنندگان). foo و bar نام مستعار آن اضافه شده است، اما برای اضافه کردن فایل باید "منابع" (یا، فقط باز کردن یک ترمینال جدید). به عنوان مثال: baz bashrc

 [email protected]:~$ 
[email protected]:~$ alias
alias 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'
[email protected]:~$ 
[email protected]:~$ cat .bash_aliases 
alias foo='echo foo'
alias bar='echo foo'
alias baz='echo baz'

[email protected]:~$ 
[email protected]:~$ source .bashrc 
[email protected]:~$ 
[email protected]:~$ alias
alias 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'
[email protected]:~$ 
[email protected]:~$ baz
baz
[email protected]:~$ 
 

اکنون baz نام مستعار کار می کند. تازه تازه فهمیدم که یک جواب قبلی به این تکنیک اشاره کرده است ، اما آنها تخته سنگ را دفن کرده اند.


0



انتشارات مرتبط


چگونه یک "مستعار" دائمی ایجاد کنیم؟ [تکثیر]

چگونه یک نام مستعار را حذف کنم؟

چگونه می توانم برای SSH به طور دائم هویت اضافه کنم؟

چگونه می توانم هنگام نوشتن پرونده موجود ، اخطار بدهم؟

چگونه می توانم برخی واژگان نفرین را در اوبونتو آموزش دهم؟

bash: alias: alias: یافت نشد

چگونه می توانم به طور دائم عناوین پنجره را تغییر دهم؟

Bash alias - =… (نام مستعار باید یک خط ساده باشد) که کار نمی کند

چگونه یک ماژول هسته را بارگیری کنم؟

چگونه می توان به طور دائم تمام پروفایل های AppArmor را فعال کرد؟

[bash] سوال برچسب


چگونه می توانم استفاده از کلید Alt را HUD تغییر یا غیرفعال کنم؟

چگونه می توانم نسخه جدید اوبونتو را ارتقا دهم؟

چگونه متغیرهای محیط را اضافه کنم؟

آیا برنامه ای مانند Microsoft Paint وجود دارد؟ [تکثیر]

چگونه می توانم نمایش اسلاید تصویر زمینه رومیزی ایجاد کنم؟

چگونه می توان پایانه پیش فرض مورد استفاده در Unity را تنظیم کرد؟

یکبار کلمه عبور SSH را وارد کنید

نحوه اجرای یک کار cron با استفاده از دستور sudo

چگونه می توانم پشتیبانی کامل از رنگ را در Vim فعال کنم؟

چگونه LibreOffice 4 را نصب کنم؟