您的位置:首页 > 运维架构 > Shell

linux bashl学习(二) shell基础知识-番外篇

2012-08-27 19:39 656 查看
==============================================================================================

环境:

系统版本:(lsb_release
-a)

Description: Ubuntu 10.04.4 LTS

内核版本 ( cat /proc/version)

Linux version 2.6.32-41-generic (buildd@crested)

(gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) )

#88-Ubuntu SMP Thu Mar 29 13:10:32 UTC 2012

bash 版本( bash
--version)

GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)

编译器:vim version 7.2.330

===============================================================================================
补充:

1.bash_profile和.bashrc的什么区别


1.1 /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。

1.2 /etc/bashrc:为每一个运行bash shell的用户执行此文件。当bash shell被打开时,该文件被读取。

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

1.4 ~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件。

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.

~/.bash_profile 是交互式、login 方式进入 bash 运行的

~/.bashrc 是交互式 non-login 方式进入 bash 运行的

通常二者设置大致相同,所以通常前者会调用.bashrc。

2. 学习过程中常常会遇到mkdir 一个目录再进到目录中,网上收集了关于如何有效提高命令效率

1.mkdir + cd

打开bash 的

#vi ~/.bashrc


#mkdir + cd

function mkdircd () { mkdir -p "$@" && eval cd "\"\$#\""; }

#eg: mkdircd 1/2/3 将创建1/2/3目录并进入第一层目录:即1/



#mkdir + cd

function mkdircd () { mkdir -p "$@" && eval cd "\"\$@\""; }

#eg: mkdircd 1/2/3将创建1/2/3目录并进入最后一层目录:即1/2/3

source ~/.bashrc修改生效
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: