How to suppress (or customize) Mac Terminal shell prompt

前端 未结 4 1114
南方客
南方客 2021-01-29 21:53

Currently in my Terminal, every shell prompt looks like ComputerName: FooDir UserName$. The UserName part simply wastes too much space out of my precio

相关标签:
4条回答
  • 2021-01-29 22:32

    2019 onwards, MacOS default shell is Z Shell. To customize command prompt, add a file named .zshrc in user home and put following line that sets a PS1 environment variable with desired prompt format:

    export PS1="[%n]%~> "
    

    Open new terminal

    This is result of following format expansion:

    • %n User name
    • %~ Current directory

    See full list of available expansions here.

    0 讨论(0)
  • 2021-01-29 22:36

    Here's an excellent article with a full list of Variables and Colors:

    Customize your Shell Command Prompt

    For a simple, minimalistic prompt, you can try this. Add the following line to your .bash_profile or simply test it first by running it in your terminal:

    export PS1="\[\033[0m\]\w\$ "
    

    It'll look something like this:

    Simple Terminal Prompt

    Here's my Prompt (source), also very simple:

    export PS1="\[\033[1;97m\]\u: \[\033[1;94m\]\w \[\033[1;97m\]\$\[\033[0m\] "
    

    enter image description here

    0 讨论(0)
  • 2021-01-29 22:38

    Your answer can be found right here:http://www.hypexr.org/bash_tutorial.php#vi at about the middle of the page. :)

    0 讨论(0)
  • 2021-01-29 22:45

    The prompt is defined by the environment variable PS1 which you can define in .bash_profile.

    To edit it, open or create the (hidden) file .bash_profile:

    nano .bash_profile

    and add a line that says

    export PS1=""

    Between the quotation marks, you can insert what you would like as your terminal prompt. You can also use variables there:

    • \d – date
    • \t – time
    • \h – hostname
    • \# – command number
    • \u – username
    • \W – current directory (e.g.: Desktop)
    • \w – current directory path (e.g.: /Users/Admin/Desktop)

    The default prompt for common Linux distributions would be \w $, which evaluates to ~ $ in your home directory or e.g. /Users $ somewhere else. There are also website (like this one) that can help you with building your prompt.

    If you want to remove the UserName part, your choice would be \h: \w$.

    Once you made your changes, save the file with Control+o, Return, Control+x.

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