Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10731945
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-03-23 11:28:49

为什么使用Shell编程?
简单快捷,适用性广
 
什么是Shell
Shell是用户和Linux系统之间的接口程序,你可以通过它输入命令以使操作系统执行。
 
文件描述符012分别表示什么?
Shell中, 0表示标准输入,1表示标准输出,2表示标准错误输出。
 
>>符号的作用?
在文件后添加时,使用>>,如:ps >> output.txt,这样ps的结果会添加在output.txt文件的最后,而不会冲掉文件中原有的内容。
 
Shell命令中常见2>&1,这是什么意思?
Shell中,>符号常用来表示重定向输出,前面可用文件描述符表示重定向什么输出,默认为1(即标准输出),如果是重定向标准错误输出,则使用2>,后面如果为&1,则表示将标准错误输出重定向到与标准输出的同一位置。
 
/dev/null的作用?
如果在Shell命令中,你希望把输出的结果丢弃,那么可以直接扔到Linux的垃圾桶里,/dev/null就是这样一个垃圾桶。例如:kill -l 214 > /dev/null
 
怎样重定向输入?
shell中重定向输入使用的是<符号,例如:more < ex.txt
 
为什么需要管道?管道怎么使用?
Shell中管道(pipe)功能很强大,可用来链接命令,实现流水线操作。管道这个名字很形象,它就是命令之间的连接渠道。在使用管道时,你把前一个命令的输出和后一个命令的输入对应地接在一起就行了,使用的符号是“|”。例如:ps | sort | grep -v init | more
 
Shell中的通配符
Shell中的通配符功能也挺强大的,主要有如下几类:
1*:匹配任意字符
2?:匹配单个字符
3[集合]:匹配集合中的字符
4[^集合]:匹配不在集合中的字符
5{}:匹配{}中的内容
 
` `符号的作用
Shell中,一对` `符号表示把包含其中的内容以Shell命令的方式执行,注意与普通引号之间的差别。例如:more `grep -l POSIX *`
 
关于Shell脚本的写法
Shell脚本的编写需要注意如下基本要点:
1)第一行以注释开始,实际上这是一行特殊的注释,#!表示其后列出的是执行该脚本的程序,例如:#!/bin/bash,表示该脚本用/bin/bash程序来解释执行。
2)最后一行使用exit命令结束,以确保脚本能以正常方式退出。
 
Shell脚本赋予执行权限
刚编辑好的Shell脚本是不能直接运行的,如果你希望通过./shellfile的方式运行它,就需要给脚本赋予执行权限,通常的做法是:chmod +x shellfile,也可以根据不同的权限要求,对指定的用户授予权限,如:chmod 766 shellfile(另一种格式:chmod o+x shellfile),则该shellfile文件只有其所有者用户(owner)才能直接执行。

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