customize shell prompt

想必在命令行模式用久了,都看厌了那个单调又丑的提示符,个人认为还占了些位,要是命令长的话还会断行.

想改成

cd ~/
touch .bash_profile
vim .bash_profile

osx环境下操作的,关键语法 \[颜色\]prompt参数\[$reset\] 例如:\[$red\]\t\[$reset\]

reset=$(tput sgr0)
green=$(tput setaf 2)
yellow=$(tput setaf 3)
blue=$(tput setaf 4)
magenta=$(tput setaf 5)
cyan=$(tput setaf 6)

PS1="\[$magenta\]\u\[$reset\] at \[$blue\]\h\[$reset\] in \[$yellow\]\W\n\[$reset\]\[$green\]\$\[$reset\]"
export PS1

:wq 保存离开

source .bash_profile

tput命令使用方式

prompt参数:

  • \a : an ASCII bell character (07)
  • \d : the date in "Weekday Month Date" format (e.g., "Tue May 26")
  • \D{format} : the format is passed to strftime(3) and the result is inserted into the prompt string; an empty format results in a locale-specific time representation. The braces are required
  • \e : an ASCII escape character (033)
  • \h : the hostname up to the first ‘.‘
  • \H : the hostname
  • \j : the number of jobs currently managed by the shell
  • \l : the basename of the shell’s terminal device name
  • \n : newline(换行)
  • \r : carriage return
  • \s : the name of the shell, the basename of $0 (the portion following the final slash)
  • \t : the current time in 24-hour HH:MM:SS format
  • \T : the current time in 12-hour HH:MM:SS format
  • \@ : the current time in 12-hour am/pm format
  • \A : the current time in 24-hour HH:MM format
  • \u : the username of the current user
  • \v : the version of bash (e.g., 2.00)
  • \V : the release of bash, version + patch level (e.g., 2.00.0)
  • \w : the current working directory, with $HOME abbreviated with a tilde
  • \W : the basename of the current working directory, with $HOME abbreviated with a tilde
  • \! : the history number of this command
  • \# : the command number of this command
  • \$ : if the effective UID is 0, a #, otherwise a $
  • \nnn : the character corresponding to the octal number nnn
  • \\ : a backslash
  • \[ : begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt
  • \] : end a sequence of non-printing characters

文章参考文章参考2

时间: 2024-10-01 07:57:17

customize shell prompt的相关文章

custom shell prompt

In this chapter we will look at a seemingly trivial detail - our shell.This examination will reveal some of the inner working of the shell and the terminal emulator program itself. Like so many things in Linux,the shell prompt is highly configurable,

MongoDB - The mongo Shell, Configure the mongo Shell

Customize the Prompt You may modify the content of the prompt by setting the variable prompt in the mongo shell. The promptvariable can hold strings as well as JavaScript code. If prompt holds a function that returns a string, mongo can display dynam

See the world from the eyes of shell

In this chapter we are going to look at some of the "magic" that occurs on the command line when you press the enter key.While we will examine several interesting and complex features of the shell,we will do it with just one new command: echo -

<转>shell经典,shell十三问

shell 十三问: 1) 为何叫做 shell ? 2) shell prompt(PS1) 与 Carriage Return(CR) 的关系? 3) 别人 echo.你也 echo ,是问 echo 知多少? 4) " "(双引号) 与 ' '(单引号)差在哪? 5) var=value?export 前后差在哪? 6) exec 跟 source 差在哪? 7) ( ) 与 { } 差在哪? 8) $(( )) 与 $( ) 还有${ } 差在哪? 9) [email prot

shell十三问(转)

这个我记得是在chinaunix论坛上最早出现的帖子. Shell 十三问 作者:www.chinaunix.net之網中人 1) 为何叫做 shell ? 在介绍 shell 是甚么东西之前,不妨让我们重新检视使用者与计算机系统的关系: 我们知道计算机的运作不能离开硬件,但使用者却无法直接对硬件作驱动, 硬件的驱动只能透过一个称为"操作系统(Operating System)"的软件来控管, 事实上,我们每天所谈的 linux ,严格来说只是一个操作系统,我们称之为"核心(

linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)(转)

" "(双引号)与 ' '(单引号)的区别  你在shell prompt后面敲打键盘.直到按下enter的时候,你输入的文字就是command line了,然后shell才会以进程方式执行你所提交的命令.但是,你又可知道:你在command line输入的每一个文字,对shell来说,有什么类别之分呢? 简单而言,command line的每一个charactor分为如下两种:   *literal:也就是普通纯文字,对shell来说没有特殊功能.   *meta:对shell来说,

linux shell通配符、元字符、转义符

Linux Shell 通配符.元字符.转义符使用实例介绍 说到shell通配符(wildcard),大家在使用时候会经常用到.下面是一个实例: 1 1 2 3 4 [[email protected] ~/shell]$ ls a.txt  b.txt  c.old #2 1 2 3 4 [[email protected] ~/shell]$ ls *.txt a.txt  b.txt #3 1 2 [[email protected] ~/shell]$ ls d*.txt ls: 无法访

shell十三问

1) 为何叫做 shell ? 从使用者的角度来说,使用者也没办法直接操作 kernel ,而是透过 kernel 的"外壳"程序,也就是所谓的 shell ,来与 kernel 沟通. 1 不同的操作系统使用不同的 kernel ,2 而在同一个 kernel 之上,也可使用不同的 shell . 大部份的 linux 系统的预设 shell 都是 bash ,其原因大致如下两点:1 自由软件2 功能强大 2) shell prompt(PS1) 与 Carriage Return(

Shell 十三问 的学习记录

在 BBS上看到了Shell十三问的帖子,由于比较就远了,怕以后再也找不到了,就把笔记贴过来了, 原帖地址: shell 十三问http://bbs.chinaunix.net/thread-2033675-1-1.html 贴出我做的笔记: <一>.为何叫做shell 使用者通过shell(操作系统即核心kernel的外壳)与kernel沟通,这是shell与kernel的命名的关系. 从技术角度讲,shell的最简单定义是——命令解译器( Command Interpreter ) /et