搞定mac的bashrc

 邻家的の柠檬叔 2015-03-11 14:16:26

1、根据这篇文章:
http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html

简单的说就是:
.bash_profile is executed for login shells, while .bashrc is executed for interactive non-login shells.

Mac OS X — an exception

An exception to the terminal window guidelines is Mac OS X’s Terminal.app, which runs a login shell by default for each new terminal window, calling .bash_profile instead of .bashrc. Other GUI terminal emulators may do the same, but most tend not to.

而糟糕的是,MAC是一个例外,它会执行bash_profile,但不会去管.bashrc

===============================
2、好了,解决方案是

编辑一下.bash_profile:

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi
===============================

3、加上最需要的两个命令
alias ll=‘ls -lG‘
alias ls=‘ls -G‘
alias rm=‘rm -i‘
alias cp=‘cp -i‘
alias mv=‘mv -i‘

export PATH="/usr/local/share/npm/bin:$PATH"
export NODE_PATH=/usr/local/share/npm/lib/node_modules
export PYTHONPATH=/usr/local/lib/python3.3/site-packages

一个是ll,因为用习惯了centos所以ll很好用,ls也加上color。剩下的是两个PATH

===============================

4、总得来说就是,你需要在bash_profile里写入
CLICOLOR=1
LSCOLORS=gxfxcxdxbxegedabagacad
export PS1=‘\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ ‘
#enables colorfor iTerm
export TERM=xterm-color

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

-----------------------------
然后在bashrc里写入

alias ll=‘ls -lG‘
alias ls=‘ls -G‘
alias rm=‘rm -i‘
alias cp=‘cp -i‘
alias mv=‘mv -i‘

 邻家的の柠檬叔 2015-03-11 14:16:26

1、根据这篇文章:
http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html

简单的说就是:
.bash_profile is executed for login shells, while .bashrc is executed for interactive non-login shells.

Mac OS X — an exception

An exception to the terminal window guidelines is Mac OS X’s Terminal.app, which runs a login shell by default for each new terminal window, calling .bash_profile instead of .bashrc. Other GUI terminal emulators may do the same, but most tend not to.

而糟糕的是,MAC是一个例外,它会执行bash_profile,但不会去管.bashrc

===============================
2、好了,解决方案是

编辑一下.bash_profile:

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi
===============================

3、加上最需要的两个命令
alias ll=‘ls -lG‘
alias ls=‘ls -G‘
alias rm=‘rm -i‘
alias cp=‘cp -i‘
alias mv=‘mv -i‘

export PATH="/usr/local/share/npm/bin:$PATH"
export NODE_PATH=/usr/local/share/npm/lib/node_modules
export PYTHONPATH=/usr/local/lib/python3.3/site-packages

一个是ll,因为用习惯了centos所以ll很好用,ls也加上color。剩下的是两个PATH

===============================

4、总得来说就是,你需要在bash_profile里写入
CLICOLOR=1
LSCOLORS=gxfxcxdxbxegedabagacad
export PS1=‘\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ ‘
#enables colorfor iTerm
export TERM=xterm-color

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

-----------------------------
然后在bashrc里写入

alias ll=‘ls -lG‘
alias ls=‘ls -G‘
alias rm=‘rm -i‘
alias cp=‘cp -i‘
alias mv=‘mv -i‘

关于 Mac 下.bashrc 文件配置

之前在服务器上的一些 bash 的操作习惯想在 mac 上保留,比如在跳板机上登陆服务器的命令,我在服务器上把命令作了别名保存这样我就可以简短的命令键入后就可以登陆到服务器.

比如在.bashrc 文件添加如下内容,脚本中的 login.sh 是自己写的登陆脚本.脚本会根据输入参数来区分登陆的环境.然后再根据另外的一个参数来选取登陆机器.

alias beta=‘~/login.sh beta‘
alias prod="~/login.sh prod"

然后使用 source 命令更新资源文件

source .bashrc

然后就可以使用如下命令

beta machineNameKeyWords

现在我需要把此脚本应用到 Mac 机器的 bash 上.发现 mac 上并没有这么一个.bashrc 文件,而且发现 mac 上的一些自定义的别名是存储在了.bash_profile 文件中.如当初遇到的

Mac OS X 是基于 FreeBSD 的,所以一些工具 ls, top 等都是 BSD 那一套,ls 不是 GNU ls,所以即使 Terminal/iTerm2 配置了颜色,但是在 Mac 上敲入 ls 命令也不会显示高亮,可以通过安装 coreutils 来解决(brew install coreutils),不过如果对 ls 颜色不挑剔的话有个简单办法就是在 .bash_profile 里输出 CLICOLOR=1:

链接地址:http://www.vpsee.com/2013/09/use-the-solarized-color-theme-on-mac-os-x-terminal/  

http://www.douban.com/note/321472256/

简单的说就是:

.bash_profile is executed for login shells, while .bashrc is executed for interactive non-login shells.

Mac OS X — an exception

An exception to the terminal window guidelines is Mac OS X’s Terminal.app, which runs a login shell by default for each new terminal window, calling .bash_profile instead of .bashrc. Other GUI terminal emulators may do the same, but most tend not to.

而糟糕的是,MAC是一个例外,它会执行bash_profile,但不会去管.bashrc

因此你可以看到一般在要加 bash 的配置的地方,教程里面都使用的是.bash_profile 的配置.而不是说修改这个 .bashrc 文件.造成这些区别的原因是 Mac 的 bash 是一个 loginbash,loginbash会加载的是.bash_profile 不会加载.bashrc 文件.因此我们要做的就是

参考文献:

login-bash 与nonlogin-bash 的区别:http://www.cnblogs.com/qcly/p/3273373.html

http://my.oschina.net/yunyue/blog/108399

原文地址:https://www.cnblogs.com/xc1234/p/9188774.html

时间: 2024-10-23 09:34:12

搞定mac的bashrc的相关文章

用Hopper搞定Mac迅雷的会员以及离线下载功能

转自 用Hopper搞定Mac迅雷的会员以及离线下载功能 先定位Mac迅雷的可执行文件 snakeninnys-iMac:~ snakeninny$ ls /Applications/Thunder.app/Contents/MacOS Thunder libetm.dylib libiniparser.dylib 如果你的迅雷也是放在了/Applications下,那么可执行文件的位置应该跟上面一样?? 用Hopper分析可执行文件 定位要修改的函数 可执行文件尺寸不大,Hopper很快就可以

猫猫学IOS(四十一)UI之核心动画 两行代码搞定3D转场(做android的哭死)

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 源码素材地址:http://blog.csdn.net/u013357243/article/details/45583465 效果: 代码: 其实代码很少,苹果都给封装好了 // 1.创建核心动画 CATransition *ca = [CATransition animation]; // 1.1动画过渡类型 ca.typ

iDSDT搞定显卡和声卡 黑苹果不纠结

原帖:http://www.lovelucy.info/idsdt-mac-video-audio-drive.html 之前写过PC机上装Mac OS X系统,准备工作中最纠结的就是驱动了.在网络上搜寻别人发布的驱动,可惜很多时候都无法解决自己出现的各种莫名其妙的问题.好在现在有了iDSDT这款神器,显卡声卡都可以完美工作,轻松搞定. 本文适用于你仍然拥有Windows系统,并且已经安装好了Mac OS X系统,只是在Mac系统下部分硬件工作不正常的情况,可以有效解决无法更改分辨率.没有声音等

如何搞定Android同事所有不规范代码,我用了这招...

前言 以前对下面的问题,我的态度是,不报错就是没问题,报错就用快捷键,根据Android Studio提示修复问题,从来不去问个为什么?现在代码洁癖症越来越严重的我,忍不住想看清什么东西在搞鬼. 认真看完本文,一定可以学到最新的知识.就算看不下去,也要点个赞收藏,绝对不亏.本文并不是吐槽Lint的不好,而是在学习Lint过程碰到问题,心态是奔溃的,以及解决每个问题带来的喜感. 不知道大家有没有注意项目中黄代码块的提示,如下图所示: 或者红色标记的代码(并没有任何错误),如下图所示: 上文黄的提醒

vpn+squid搞定内网才能访问的svn

业精于勤荒于嬉,愿程序猿们鼓起干劲,坚持学下去! 目录 前言 一.squid安装和使用 二.本机的svn代理设置 前言 今天由于要修改公司项目的配置文件,于是不得不秒登vpn,登上svn跳板机,把要修改的文件update下来.修改完成后,在跳板机上传,最后再经过几道程序,终于更新到线上了. 对于不能在个人电脑上update公司svn的代码,着实有些不方便.当然公司是为了代码安全考虑,多加一点防范,我们是可以理解的. 于是,又开始琢磨怎么把svn的代码搞到本机.其实,这问题蛮简单的,只要对于网络知

一步一步搞定Python3.6编码问题

Python中的编码问题很蛋疼,我们遇到这类问题有时候会使用下面几个步骤处理该问题: 1:这么低级问题,别问同事了太丢人,赶紧百度: 2:卧槽,出了一堆广告,骂个娘,赶紧找相关解决问题方式: 3:尼玛,终于搞定,原来这么简单,赶紧搞定其它工作,晚上回头在查原因: 4:傻B单位每天加班,到家都11点了,赶紧洗洗睡了:等会,先来局王者农药...... 5:编码问题早就忘了: 6:过了几天又出现编码错误,,从第1步开始重新来过. 今天我们就花一局王者农药时间搞定Python3.6的编码问题. 搞清楚编

轻松搞定javascript预解析机制(搞定后,一切有关变态面试题都是浮云~~)

hey,guys!我们一起总结一下JS预解析吧! 首先,我们得搞清楚JS预解析和JS逐行执行的关系.其实它们两并不冲突,一个例子轻松理解它们的关系: 你去酒店吃饭,吃饭前你得看下菜谱,点下菜(JS预解析),但吃的时候还是一口一口的吃(JS逐行执行)! OK,解决下面五个问题,JS预解析就算过了~~(前提:对JS变量作用域有清晰理解) 一.JS预解析是什么? 其实就是对程序要用到的材料(变量,函数)给一个初始值,并存到一个表中(我自己虚构的),当程序运行到那一行时,就来这个表看有没有初始值,没有就

zabbix3.0 使用SS代替netstat无需脚本,1分钟搞定TCP状态监控

这段时间一直忙,没时间好好理下监控,趁着假期有时间,理了一下. 对于zabbix监控TCP状态,在网上查了很多资料,大多数都是使用netstat命令来实现. 如果服务器的压力小,链接少,不会有问题,但随着服务器压力和链接数的增加,用netstat就会造成执行速度慢,server端无法接收到执行结果,造成监控异常. 平时一直用SS,所以试着用SS代替netstat,速度快了不少. 个人较喜欢偷懒,看到网上很多少写了非常长的脚本,又是函数,又是写临时文件的.其实完全没必要,不用写啥脚本,临时文件,很

一条SQL搞定信息增益的计算

欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 周东谕,2011年加入腾讯,现任职于腾讯互娱运营部数据中心,主要从事游戏相关的数据分析和挖掘工作. 信息增益原理介绍 介绍信息增益之前,首先需要介绍一下熵的概念,这是一个物理学概念,表示"一个系统的混乱程度".系统的不确定性越高,熵就越大.假设集合中的变量X={x1,x2-xn},它对应在集合的概率分别是P={p1,p2-pn}.那么这个集合的熵表示为: 举一个的例子:对游戏活跃用户进行分层,分为