Chinaunix首页 | 论坛 | 博客
  • 博客访问: 901479
  • 博文数量: 113
  • 博客积分: 3160
  • 博客等级: 少校
  • 技术积分: 1801
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-19 10:09
文章分类

全部博文(113)

分类: Python/Ruby

2012-06-21 12:24:03



1:shell简介


shell提供了用户和内核进行交互操作的一种接口,它接收用户的命令并送入内核执行。



shell脚本语言是linux/unix系统上应用广泛的实用程序设计语言,所以对于任何一个希望精通linux操作系统的人,掌握shell脚本知识都是非常必要的。而它的特点是容易学习,但是精通很难,因为不仅需要熟悉shell脚本的语法结构和常用工具,而且要清晰的掌握linux重要命令的语法。所以,学习shell语法的同时,加强对linux命令行的学习很有帮助。



常见的shell大致有三种,一是bourne-again shell(bash),所有的linux系统都提供这种shell。它被设计成遵循POSIX标准,同时也保留了与bourne shell的兼容性;第二个是Korn shell,它是Bourne Shell的后继者,由贝尔实验室研发;第三个是C shell ,C shell是由伯克利开发的,所有的BSD操作系统都提供这种shell。我们在linux下一般都是默认使用bash。





2:编写执行shell脚本


第一步:使用编辑器(例如Emacs,可以打开shell-script-mode)编写shell脚本,例子如下:

#!/bin/sh

echo "hello world !"

exit 0

第二步:使用chmod命令提升脚本的执行权限。

lishuo@lishuo-Rev-1-0:~/audio$ chmod u+x a

第三步:执行shell脚本

lishuo@lishuo-Rev-1-0:~/audio$ ./a
hello world !



3:shell的学习方式





第一步,学习最基本的linux命令行工具,比如echo,cp,mv,rm等最基本的文件操作命令以及重定向管道文件描述符等基本概念;


第二步,开始学习shell的语法结构,并能够结合基本的linux命令编写一些小型的shell脚本,比如粉碎某个文件(使用dd,rm,ls和重定向);


第三步,系统学习linux下命令行工具的使用,这个时候可以找一本讲解命令行的书专门学习,然后写成shell脚本实现新功能;


第四步,这是我非常喜欢的学习策略,就是总结概括先前的知识点,从全局的角度认识shell和linux命令行,这个时候可以写成一个文章系列放到自己的博客(博客是一个沉淀知识,积累智慧的地方);


最后,找一本精讲shell的书,比如精通uinx shell编程,这个时候就是翻看书中不会或者不熟悉的方面,以更加系统的方式来查漏补缺。


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