bash設定檔中alias錯誤會引起shell異常

來源:互聯網
上載者:User

標籤:alias   bash   shell   if   異常   

1. 先介紹下alias(別名)的用法

    alias la=‘ls -a‘  alias b=‘cd ..‘ 等等

    alias 是個好東西,可以在用shell時省很多時間


2. 但有一天我發現執行shell指令碼的時候,if 語句不能用了,會報以下錯誤:

    bash: build/envsetup.sh: line 30: syntax error near unexpected token `then‘
    bash: build/envsetup.sh: line 30: `    if [ ! "$T" ]; then‘

    這是我在編譯安卓4.2.2系統時運行 source setenv 時,發生的,很是鬱悶!

    (而且還有其他異常,輸入一些命令按Tab鍵沒有提示了,如:apt-get install xxx)


3. 於是各種找,終於發現了是 .bashrc檔案的alias中出現了shell指令碼的關鍵字if:alias if=‘ifconfig‘

    

4. 總結

   應該是shell解釋指令碼時,把“if” 都替換成了“ifconfig”,肯定報錯,所以在寫設定檔的時候,

    一定要注意不要使用關鍵字和出現語法錯誤。


5. 後果

    之前因為這個錯誤重裝了linux mint, 結果還是出現了這個錯誤,學藝不精啊。

    我可能一輩子都找不到這個錯誤,而有些人可能一輩子都不會出現這個錯誤。

    我是不幸的,也是幸運的!


6. 最後

    附我常用的alias

alias ls='ls --color=tty'alias l.='ls -d .* --color=tty'alias la='ls -a'alias ll='ls -l'alias llh='ls -l -h'alias l='ls'alias c='cd'alias mv='mv -i'alias rm='rm -i'alias vi='vim'alias b='cd ..'alias py='python'alias md='mkdir'alias mk='make'alias mkcl='make clean'alias m='man'alias t='top'alias cl='clear'alias sudo='sudo '# alias if='ifconfig' # I hate u!alias ip='ifconfig'alias mo='mount'alias um='umount'alias gcc='gcc -Wall'alias grep='grep --colour=auto'

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.