How to find out where alias (in the bash sense) is defined when running Terminal in Mac OS X

后端 未结 10 1098
时光取名叫无心
时光取名叫无心 2020-12-13 03:50

How can I find out where an alias is defined on my system? I am referring to the kind of alias that is used within a Terminal session launched from Mac OS X (10.6.3).

相关标签:
10条回答
  • 2020-12-13 04:08

    For OSX, this 2-step sequence worked well for me, in locating an alias I'd created long ago and couldn't locate in expected place (~/.zshrc).

    cweekly:~ $ which la
    la: aliased to ls -lAh
    
    cweekly:~$ grep -r ' ls -lAh' ~
    /Users/cweekly//.oh-my-zsh/lib/aliases.zsh:alias la='ls -lAh'
    

    Aha! "Hiding" in ~/.oh-my-zsh/lib/aliases.zsh. I had poked around a bit in .oh-my-zsh but had overlooked lib/aliases.zsh.

    0 讨论(0)
  • 2020-12-13 04:12

    First use the following commands

    List all functions

    functions 
    

    List all aliases

    alias 
    

    If you aren't finding the alias or function consider a more aggressive searching method

    Bash version

    bash -ixlc : 2>&1 | grep thingToSearchHere
    

    Zsh version

    zsh -ixc : 2>&1 | grep thingToSearchHere
    

    Brief Explanation of Options

    -i     Force shell to be interactive.
    
    -c     Take the first argument as a command to execute
    
    -x      -- equivalent to --xtrace
    
    -l      Make bash act as if invoked as a login shell
    
    0 讨论(0)
  • 2020-12-13 04:13

    you can just simply type in alias on the command prompt to see what aliases you have. Otherwise, you can do a find on the most common places where aliases are defined, eg

    grep -RHi "alias" /etc /root
    
    0 讨论(0)
  • 2020-12-13 04:17

    In my case, I use Oh My Zsh, so I put aliases definition in ~/.zshrc file.

    0 讨论(0)
提交回复
热议问题