Je! Ninaweza kuunda jalada ya kudumu ya Bash?


Nenda kwa jibu lililokubaliwa


Napenda kuunda neno la rm kuamuru ili kuwa na ujumbe wa uthibitisho baada ya kutekeleza amri hii. Kwa hivyo ninaunda neno kama hili alias rm='rm -i' . Lakini kwa kadri ninavyojua hii ni kigeni kwa muda mfupi na inaishi hadi utakapofunga terminal.

Kama inavyoelezwa hapa kuokoa akiba kabisa Ninahitaji kutekeleza ~/.bash_aliases au ~/.bashrc kuamuru katika terminal na kuongeza akina wangu hapo. Lakini ninapomaliza ~/.bashrc nilipata ujumbe wa makosa yafuatayo:

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

Wakati ninaendesha napata ~/.bash_aliases ujumbe mwingine wa makosa kama hii:

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

Shida halisi ni nini na ninawezaje kuisuluhisha?


388





2010-12-15




Idadi ya majibu: 9


Ili kuunda alama ya kuongezea jina la hapo awali kwenye .bashrc faili yako

 gedit ~/.bashrc
 

Na kisha ongeza maasi yako chini.


maandishi ya alt

Sasa kutekeleza . ~/.bashrc katika terminal yako (inapaswa kuwe na nafasi kati ya . na ~/.bashrc .

Sasa unaweza kuangalia alama zako.


maandishi ya alt


441


2010-12-15

Kuna njia nyingi za kuunda mageni. Njia zinazotumiwa zaidi ni:

  1. Ongeza majumba moja kwa moja kwenye ~/.bashrc faili yako

    Kwa mfano: ongeza safu hizi kuwa ~/.bashrc faili

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

    Wakati mwingine (baada ya kuwa watumiaji nje / ndani, au kufanywa . ~/.bashrc ) wakati unapoandika amri itakuwa imetekelezwa. rm rm -i

  2. Njia ya pili hukuruhusu kufanya faili tofauti za wageni, kwa hivyo hautastahili kuziweka .bashrc , lakini faili ya chaguo lako. Kwanza, hariri ~/.bashrc faili yako na ongeza mistari ifuatayo ikiwa haipo tayari, au uifungushe ikiwa itakuwepo:

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

    Ila na funga faili. Baada ya hapo, unachohitajika kufanya ni kuunda ~/.bash_aliases faili na kuongeza majumba yako huko, na muundo kama huo uliowekwa kwenye njia ya kwanza.

    Yaliyomo kwenye ~/.bash_aliases faili yangu :

     alias cs='cd;ls'
     

256


2010-12-15

Inasikika kwangu kama shida yako tu ni kujaribu kutekeleza .bashrc wakati haijatekelezwa. Lakini hii sio njia sahihi ya kufanya hivyo; wakati wowote unapobadilisha faili hii, unapaswa "kutekeleza" kwa amri:

 source ~/.bashrc
 

Vinginevyo, itaunda tu ganda jipya, kutekeleza faili hiyo katika mazingira mpya ya ganda, kisha kutupilia mbali mazingira hayo wakati yatakapokwisha, na hivyo kupoteza mabadiliko yako. Kwa kutafuta maandishi, hutekelezwa ndani ya ganda la sasa, kwa hivyo itabaki kuwa na athari.

Nadhani kosa la pili ni kwa sababu bash_aliases haipo. Haihitajiki, ilipendekezwa tu kuweka mabadiliko yako tofauti na utaratibu. Inatumika tu ikiwa ipo, na unaweza kuona mtihani kwa hiyo .bashrc:

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

Hii inasema kwamba ikiwa faili ~ / .bash_aliases iko, basi iendesha.


19


2012-01-16

Shida ni kwamba unajaribu kutekeleza faili isiyoweza kutekelezwa: Unaweza kuangalia hii na:

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

Kumbuka hakuna barua "x - inayoweza kutekelezwa" kwenye safu ya kwanza (ruhusa ya faili).

Faili za wasifu sio faili zinazoweza kutekelezwa, badala ya kuzitenda unazipakia:

 source /home/bakhtiyor/.bashrc
 

au

 . /home/bakhtiyor/.bashrc
 

17


2010-12-15

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

Huu ni mfano ambao nilikuwa nikitafuta, njia ya kuandika herufi chache kwenye terminal ("vps") kuingia kijijini kwa seva na kuwezesha usambazaji wa X11 ili niweze kuendesha programu za gui kama "gedit" kwenye mtandao.

Chochote amri au amri iliyotengwa, kwa njia hii na taarifa ya kukadiriwa, alama za nukuu, na ishara ya kuamilisha matokeo ya amri kwa faili (>>) inanifanyia kazi. Badilisha tu amri yangu kwa amri ya kigeni unayohitaji na uiingize kwenye terminal yako.


7


2013-06-15

ikiwa unatumia ruby, unaweza kufunga aka kutumia rubygem.

gem install aka2

matumizi

 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 itaunda faili yako ya dot kiotomatiki ili hauitaji. Angalia.


5


2015-01-21

Niliandika kazi hii ya kusaidia kuunda haraka neno mpya, na kisha kuandika ufafanuzi wa ~/.bash_aliases (kama iko) au ~/.bashrc .

TIP : Hakikisha ~/.bash_aliases ipo & inatekelezwa ~/.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


2013-12-17

Napenda kupendekeza kutumia /etc/bash.bashrc

Unaweza kuongeza mstari mwishoni mwa faili hiyo.

 alias ok="ping google.com"
 

Baada ya kuweka majumba kwa kila mstari lazima uanze upya au uweke tena.


0


2015-08-09

Kama ninakumbuka, bashrc ina, au ilikuwa, mstari unaopendekeza usitumie kwa majalada moja kwa moja. Ufumbuzi ni kutumia nje file (s). foo Na bar majina ya utani limeongezwa, lakini kwa kuongeza faili lazima kuwa na "sourced" (au, tu kufungua terminal mpya). Mfano kama: 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]:~$ 
 

sasa baz alias anafanya kazi. Nilijua tu kuwa jibu lililopita limetaja mbinu hii, lakini walikuwa wamezika lede.


0


2018-12-22