Mac终端命令行提示符格式更改方法
内容提要:
主要是通过~/.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终端命令行提示符格式更改方法的更多相关文章
- linu查看系统用户与显示命令行提示符格式信息
目录 一:查看系统用户whoami 二:显示命令行提示符格式信息变量 一:查看系统用户whoami whoami : 当前窗口登录的用户 who : 当前用户登录系统的终端 作用: 显示当前用户登录了 ...
- Mac 终端命令行报错 -bash: vi: command not found
我遇到的问题与这个类似,但是我的问题也是用该博文作者方法进行中断才解决的,在此表示感谢. 前段时间在 Mac 下使用终端遇到了这个问题: appledeMacBook-Air:~ air$ vi .b ...
- Linux 终端命令行提示符的艺术--PS1进阶
话不多说,先瞅瞅我的命令行提示符(有点大): 图中命令行解释:┌[阳历日期/农历日期 时间]├[当前目录下目录数+当前目录下文件数][当前绝对目录]└[用户名@主机名-第几个终端 ╰_╯] 相关配置文 ...
- mac 终端命令行操作
1,root 切换 sudo su 2,安装brew curl -L http://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 ...
- MAC终端命令行下用sublime、vscode、atom打开文件或目录
要知道,有时候一些小技巧,能极大的加大我们的工作效率. 在MAC下开发,用的最多的还是终端,我的终端环境是iterm2+ohmyzsh:步入正题前先给大家介绍几个小技巧: 第一个: 打开findle, ...
- MAC终端命令行整理
参考:http://www.jianshu.com/p/3291de46f3ff 目录操作 命令名 说明 举例 cd 切换到指定目录 cd test ls 查看这个目录下的所有文件 ls /Users ...
- Mac 终端命令行颜色高亮显示
一.颜色高亮显示 针对terminal采用bash模式: 编辑 ~/.bash_profile, 加入以下代码: export CLICOLOR=1 export LSCOLORS=gxfxaxdxc ...
- Mac系统终端命令行不执行命令 总出现command not found解决方法
配置过安卓开发环境,改过bash_profile这个文件,最后不知怎么的只有cd命令能执行,我猜测可能修改bash_profile文件后没有保存 导致的 保存命令是: source .bas ...
- [转] Mac系统终端命令行不执行命令 总出现command not found解决方法
配置过安卓开发环境,改过bash_profile这个文件,最后不知怎么的只有cd命令能执行,我猜测可能修改bash_profile文件后没有保存 导致的 保存命令是: source .bash ...
随机推荐
- [Unity2D]脚本的使用规则
Unity2D的游戏脚本可以使用3中开发语言来编写:C#,JavaScript和BOO.你可以选择你熟悉的编程语言来编写,通常C#语言的编程功能会更加强大一些,成为首选的语言.在Unity2D中使用C ...
- [二分图&最小割]
OTL@assassain 反转源汇的模型: 给定一个二分图,同时选择集合中的两个点会有一个代价,选择每一个点有一个收益,问最大收益是多少 (即两个点在不同的集合中是有冲突关系的) 解法: 用最小割模 ...
- winform学习之----Directory
Directory 文件夹目录 几个方法: CreateDirectory,delete,move,getfiles,exists 操作文件:用File 操作路径:用path 操作文件夹:Direct ...
- hdu 3415
单调队列即保持队列中的元素单调递增(或递减)的这样一个队列,可以从两头删除,只能从队尾插入.单调队列的具体作用在于,由于保持队列中的元素满足单调性,对于上述问题中的每个j,可以用O(1)的时间找到对应 ...
- Twemproxy 介绍与使用
Twemproxy是一种代理分片机制,由Twitter开源.Twemproxy作为代理,可接受来自多个程序的访问,按照路由规则,转发给后台的各个Redis服务器,再原路返回.该方案很好的解决了单个Re ...
- sessions 表的架构过程
对于 PHP 开发来说,保存会话用 MySQL 是一个非常不错的选择.MySQL 提供一种建立在内存中的表类型 Heap,如果每条会话数据量很小的话,可以考虑用这种类型的表来进一步优化性能.但是 He ...
- Ctrl+Shift+F12切换最大化编辑器
常用快捷键(keymaps:Default情况下) Esc键编辑器(从工具窗口) F1帮助千万别按,很卡! F2(Shift+F2)下/上高亮错误或警告快速定位 F3向下查找关键字出现位置 F4查找变 ...
- [转]Web.config配置文件详解(新手必看)
本文转自:http://www.cnblogs.com/gaoweipeng/archive/2009/05/17/1458762.html 花了点时间整理了一下ASP.NET Web.config配 ...
- Spring对加载的bean之间循环依赖的处理
根据下面文档的叙述,简言之: 对于相互之间通过构造函数注入相互循环依赖的情况,Spring会抛出BeanCurrentlyInCreationException错误. 如果AB两个beans是通过属性 ...
- DS实验题 Floyd最短路径 & Prim最小生成树
题目: 提示: Floyd最短路径算法实现(未测试): // // main.cpp // Alg_Floyd_playgame // // Created by wasdns on 16/11/19 ...