现在的位置: 首页 > 操作系统 > 正文

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

2019年05月28日 操作系统 ⁄ 共 1353字 ⁄ 字号 评论关闭

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

环境:

系统版本:(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修改生效

抱歉!评论已关闭.