Chinaunix首页 | 论坛 | 博客
  • 博客访问: 169173
  • 博文数量: 14
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 650
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-26 01:38
文章分类

全部博文(14)

文章存档

2011年(1)

2008年(13)

我的朋友
最近访客

分类: LINUX

2008-08-18 22:28:33

 
本章目标:
	了解shell的发展过程和用途
	掌握shell变量的设置和使用
	掌握bash的基本操作方式
	掌握简单的shell脚本编辑方法


shell的环境:
	Shell程序充当了一个命令解释器的角色。
	Shell的发展和分类:
		Bsh―――20世纪70年代中期―――新泽西的AT&T贝尔实验室
		Csh―――20世纪80年代早期―――加利福尼亚――C语言风格
		Ksh―――AT&T贝尔实验室―――结合了bsh和csh
		Bash――-默认的Shell
	
1、RHEL4中提供的Shell 	
	/etc/shells 
	#记录了当前linux系统中能够使用的shell	
	Example:
		$ cat /etc/shells 
		$ ls –l `cat /etc/shells `

2、shell程序的切换
3、用户默认shell的设定与shell的修改
	$ cat  /etc/passwd 
	$ grep teacher /etc/passwd
	$ chsh			
	#命令的使用

Bash的主要功能:
	
	SHELL变量:
		×环境变量
		×预定义变量
		×位置变量
		×用户自定义变量

环境变量:
1、查看环境变量:
	$ set | head -3

2、常用环境变量介绍:
	USER、UID、SHELL、HOME、PWD、PATH、PS1、PS2

3、环境变量配置文件
	$ ls –l /etc/bashrc /etc/profile

	/etc/profile 	 
	#文件负责设置全局的环境变量,并应用于所有的用户登陆shell
	/etc/bashrc	 
	#文件用于定义全局的函数和别名,文件的内容除了为系统中所有登录用户提供设置外,也适用于非交互shell和非登陆shell

	/etc/skel 
	#目录中保存了初始的用户配置文件模板,当用户对自己的配置文件进行了错误的设置后,可以直接将/etc/skel目录中的模板文件复制到用户目录,从而恢复到正确的初始配置。


位置变量:
	

预定义变量:
	预定义变量是linux系统中已定义好的变量,用户只能使用预定义变量,而不能创建或赋值预定义变量。所有的预定义变量都是由$和另一个符号组成的,常用的shell预定义变量有:
	$#:表示位置参数的数量
	$*:表示所有位置参数的内容
	$?:表示命令执行后返回的状态
	$$:表示当前进程的进程号
	$!表示后台运行的最后一个进程号
	$0:表示当前执行的进程名


用户自定义变量:
	
1、自定义变量的设置:
	变量名=变量值
	$DAY=sunday
2、自定义变量的查看与引用:
	example:
	$DAY=sunday
	$echo $DAY
	sunday
	$set | grep DAY
	DAY=sunday
	#set命令可以显示系统中所有的变量,也包括用户自定义变量。
3、自定义变量的输出:
	#用户在当前shell中定义了某个变量后,只能在当前的shell中使用,而在当前shell的	子shell中是无效的。
	example:
	$DAY=sunday
	$echo $DAY
	sunday
	$bash
	$echo $DAY
	
	#为了在用户的子shell或脚本程序中使用自定义变量,需要将用户自定义的变量“输出	”为全局变量。
	Export 命令用于输出变量为全局变量:
		Export [-nf ] [name=[value]……]
	example:
	$echo $DAY
	sunday
	$export DAY
	$bash
	$echo $DAY
	sunday
	$exit

	#export命令可以在输出变量的同时对指定名称的变量进行赋值
	$export DAY=sunday MONTH=jan
	$echo $DAY $MONTH
	sunday jan
4、自定义变量的清除:
	$ echo $DAY
	$ sunday
	$ unset DAY
	$ echo $DAY
	$
	
		
	
bash常用功能
	
1、命令行编辑功能
	1、光标的移动
	2、退格键与删除键
	3、定位命令行首尾:home ;end;
	4、行内快速删除命令:ctrl+U;ctrl+K
2、命令行补全功能
	1、命令补全功能
	2、文件补全功能
3、命令历史与命令重复
	1、命令历史的使用
	2、历史命令的查看
	$ history
	$!113
	
3、用户命令历史文件:
	$ set | grep HISTFILE
	$history -c

命令别名:
1、命令别名的显示
	$ alias 
	#如果定义的命令别名与原命令重名,bash在执行命令时将优先执行别名命令,而用户需要执行原命令时需要输入该命令的完整路径。
2、命令别名的定义:
	$alias name=value
3、命令别名的取消:
	$unalias [-a ] name 
	#用户固定使用的自定义别名命令应保存在用户宿主目录的".bashrc"文件中。
4、系统别名定义文件:
	#RHEL4系统中为用户预定义的命令别名保存在”/etc/profile.d”目录的配置文件中

		
管道与重定向:
1、标准输入输出
2、重定向
	1、输入重定向
	2、输出重定向
	3、错误重定向
	4、输出重定向和错误重定向的组合使用
	#如何需要将标准输出和错误输出重定向到同一个文件,需要使用&>重定向操作符。
管道:
			


shell脚本
1、Shell脚本的概念
	Linux系统中的shell脚本
基本脚本编程:
1、	建立shell脚本文件
2、	脚本中应该包括的内容
a)	脚本运行环境设置
b)	注释行的使用
c)	脚本语句
3、	设置脚本文件为可执行
脚本运行:
	1、使用shell命令	
	#程序执行脚本:不需要脚本文件具有可执行的属性
	2、使用“.” 命令执行脚本:不需要有可执行权限
	3、设置执行属性执行脚本:需要有可执行权限,使用绝对路径



	
	

		

		


			
	
阅读(2097) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~