内容提要:

主要是通过~/.bash_profile文件更改环境变量PS1,修改命令行提示符的显示格式,并展示不同颜色。

本文介绍了默认设置的缺陷,以及需要用到的基础知识,最后介绍了更改命令行提示符格式的具体方法:

1.默认设置的缺陷

我的mac终端的设置风格是Basic,字体是Menlo Regular 13 pt.,  我敲打命令时它的显示如下:

Sheron-lvdeMacBook-Pro:~ sheron_lv$ cd codeLv/
Sheron-lvdeMacBook-Pro:codeLv sheron_lv$ ls
JsHtml    android    ios    java    myweb
Sheron-lvdeMacBook-Pro:codeLv sheron_lv$ cd ios
Sheron-lvdeMacBook-Pro:ios sheron_lv$ ls
crm-apollo-swift    iphone-nova
crm-mobile-hybrid-ios    iphone-nova-merchant
Sheron-lvdeMacBook-Pro:ios sheron_lv$ 

这样在查找上面的命令时,比较困难,整个屏幕都是一个颜色。

2. 基础知识

(1)mac中的一个重要的配置文件:

   /etc/profile: 每个用户登录时都会运行的环境变量设置.

       ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,它设置一些环境变量。

(2)要修改命令行提示符,我们通过环境变量PS1来达到目的。

  命令列表的参数:

  \u 显示当前用户的用户名(user name)

  \h 显示主机名(host name)

  \W 显示当前工作目录的名字(work directory)

  \$ 显示$符作为提示符,如果用户是root的话,则显示#号

(3)文本终端的颜色可以使用“ANSI非常规字符序列”来生成

  “\033”引导非常规字符序列

  “m”意味着设置属性然后结束非常规字符序列

   编码    颜色/动作

  0       重新设置属性到缺省设置

  33      设置棕色前景

  34      设置蓝色前景

  36      设置青色前景

(4)通过上面的介绍,我们查看一下当前的PS1,就能看懂了:

Sheron-lvdeMacBook-Pro:ios sheron_lv$ $echo echo $PS1
\h:\W \u\$

很简单,格式"\h:\W \u\$",代表的是:"主机名:目录 用户名$"

3.更改命令行提示符格式的具体方法

(1)修改一下当前hostname,我之前起的名字太繁琐了:“Sheron-lvdeMacBook-Pro”,太长了,看着很烦

查看hostname命令:

Sheron-lvdeMacBook-Pro:etc sheron_lv$ hostname
Sheron-lvdeMacBook-Pro.local

修改hostname:打开系统偏好设置 - 共享, 修改计算机名字,我就修改简单点儿,叫“MacLv”好了。

(2)修改命令提示符格式为[user@hostname] currentpath $

  根据上面2(2)的基础知识介绍,我们可以在~/.bash_profile文件中修改PS1的代码:

export PS1='[\u@\h] \W\$ '

现在命令提示符的格式效果变成这样的了:

[sheron_lv@MacLv] ~ $ 

看着清爽了很多。

(3)增加些颜色

  根据上面2(2)的基础知识介绍,我们可以更改~/.bash_profile文件中PS1的代码:

export PS1='\033[01;33m\][\u@\h ]\033[01;34m\]\W \[\033[01;36m\]\$\[\033[00m\] '

此时效果如下:

这样查历史命令就能方便点了,可能我设置的颜色比较不中看,你可以根据ANSI非常规字符序列不同的编码设置自己喜欢的效果。

上面是单步讲解,可以把~/.bash_profile文件直接改为以下内容:

#enables colorin the terminal bash shell export

CLICOLOR=

#sets up thecolor scheme for list export

LSCOLORS=gxfxcxdxbxegedabagacad

#sets up theprompt color (currently a green similar to linux terminal)

export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ '

#enables colorfor iTerm

exportTERM=xterm-color
PATH="/usr/local/mysql/bin:${PATH}"
export PATH
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
export VERSIONER_PYTHON_PREFER_64_BIT=yes
export VERSIONER_PYTHON_PREFER_32_BIT=no

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

Mac终端命令行提示符格式更改方法的更多相关文章

  1. linu查看系统用户与显示命令行提示符格式信息

    目录 一:查看系统用户whoami 二:显示命令行提示符格式信息变量 一:查看系统用户whoami whoami : 当前窗口登录的用户 who : 当前用户登录系统的终端 作用: 显示当前用户登录了 ...

  2. Mac 终端命令行报错 -bash: vi: command not found

    我遇到的问题与这个类似,但是我的问题也是用该博文作者方法进行中断才解决的,在此表示感谢. 前段时间在 Mac 下使用终端遇到了这个问题: appledeMacBook-Air:~ air$ vi .b ...

  3. Linux 终端命令行提示符的艺术--PS1进阶

    话不多说,先瞅瞅我的命令行提示符(有点大): 图中命令行解释:┌[阳历日期/农历日期 时间]├[当前目录下目录数+当前目录下文件数][当前绝对目录]└[用户名@主机名-第几个终端 ╰_╯] 相关配置文 ...

  4. mac 终端命令行操作

    1,root 切换 sudo su 2,安装brew curl -L http://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 ...

  5. MAC终端命令行下用sublime、vscode、atom打开文件或目录

    要知道,有时候一些小技巧,能极大的加大我们的工作效率. 在MAC下开发,用的最多的还是终端,我的终端环境是iterm2+ohmyzsh:步入正题前先给大家介绍几个小技巧: 第一个: 打开findle, ...

  6. MAC终端命令行整理

    参考:http://www.jianshu.com/p/3291de46f3ff 目录操作 命令名 说明 举例 cd 切换到指定目录 cd test ls 查看这个目录下的所有文件 ls /Users ...

  7. Mac 终端命令行颜色高亮显示

    一.颜色高亮显示 针对terminal采用bash模式: 编辑 ~/.bash_profile, 加入以下代码: export CLICOLOR=1 export LSCOLORS=gxfxaxdxc ...

  8. Mac系统终端命令行不执行命令 总出现command not found解决方法

    配置过安卓开发环境,改过bash_profile这个文件,最后不知怎么的只有cd命令能执行,我猜测可能修改bash_profile文件后没有保存 导致的     保存命令是:  source .bas ...

  9. [转] Mac系统终端命令行不执行命令 总出现command not found解决方法

    配置过安卓开发环境,改过bash_profile这个文件,最后不知怎么的只有cd命令能执行,我猜测可能修改bash_profile文件后没有保存 导致的     保存命令是: source .bash ...

随机推荐

  1. HDU2296 Ring(AC自动机+DP)

    题目是给几个带有价值的单词.而一个字符串的价值是 各单词在它里面出现次数*单词价值 的和,问长度不超过n的最大价值的字符串是什么? 依然是入门的AC自动机+DP题..不一样的是这题要输出具体方案,加个 ...

  2. XCOJ 1102 (树形DP+背包)

    题目链接: http://xcacm.hfut.edu.cn/oj/problem.php?id=1102 题目大意:树上取点.父亲出现了,其儿子包括孙子...都不能出现.给定预算,问最大值. 解题思 ...

  3. 【BZOJ】3669: [Noi2014]魔法森林(lct+特殊的技巧)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3669 首先看到题目应该可以得到我们要最小化 min{ max{a(u, v)} + max{b(u, ...

  4. 获取枚举类型Description特性的描述信息

    C#中可以对枚举类型用Description特性描述. 如果需要对Description信息获取,那么可以定义一个扩展方法来实现.代码如下: public static class EnumExten ...

  5. java+easyui实例

    1.首先引入easyui包 在jsp页面上引用以下文件: <link rel="stylesheet" type="text/css" href=&quo ...

  6. cvReleaseImage 释放内存出错

    cvReleaseImage是OpenCV中C语言库中的释放图片内存的函数,比如我们加载或者克隆了一幅图片,当不需要这幅图片了时,我们为了避免内存泄露,需要释放这些空间,可以参见我之前的博客OpenC ...

  7. html5文章 -- HTML5开发实例-网易微博手机Web App开发过程

    HTML5在国内外越来越受到互联网开发团队的青睐.国外,谷歌兴致勃勃地开发Chrome Web Store,微软发布了支持使用HTML5技术开发的“Irish Spring”主题网站,诺基亚斥巨资购得 ...

  8. ASP.NET开发中主要的字符验证方法-JS验证、正则表达式、验证控件、后台验证

    ASP.NET开发中主要的字符验证方法-JS验证.正则表达式.验证控件.后台验证 2012年03月19日 星期一 下午 8:53 在ASP.NET开发中主要的验证方法收藏 <1>使用JS验 ...

  9. [转].net自定义configSections的5个示例

    本文转自:http://www.yongfa365.com/item/configuration-configSections-SingleTagSectionHandler-DictionarySe ...

  10. 双机冗余备份和负载均衡策略(Mysql Cluster入门安装配置指南)

    MySQL Cluster 是MySQL适合于分布式计算环境的高实用.高冗余版本.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器.MySQL Clus ...