参考 Neil Matthew 和Richard Stone的 Begining Linux Programming,边学习边记录,shell的哲学真的是博大精深!
一、为什么使用shell编程
1.可以快速,简单的完成编程,即使是最简单的linux发行版,也会提供一个shell
2.shell 非常适合编写一些执行相对简单的小工具
3.个容易配置和调用、维护、移植
4.shell执行的程序通常称为脚本
二、什么是shell
1.shell作为一个用户与linux系统间接口的程序,它允许用户向操作系统输入需要执行的命令:ls -al 、 ldd、 touch等等,太多了,每个工具组成了一个部件,通常你可以用这些小巧的命令来组成一个庞大的、复杂的程序
2.大多数的shell都是从Bourne Shell 演化而来
3.一个优秀的shell ->>>>>>>>它就是bash,当然还有很多免费的和商业用的shell
shell | 历史 |
sh(Bourne) | 源于UNIX最初的shell |
csh、tcsh、zsh | C shell 及其变体 ,可能是bash后的最流行的shell了 |
ksh、pdksh | 是许多商业版的UNIX默认使用的版本 |
bash | 来自GNU项目的bash,开源,免费 |
三、那么开始吧
1.查看bash的版本号
$ /bin/bash --version
GNU bash,版本 4.3.48(1)-release (x86_64-pc-linux-gnu)Copyright (C) 2013 Free Software Foundation, Inc.
许可证 GPLv3+: GNU GPL 许可证第三版或者更新版本 <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
四、管道和重定向
1.重定向输出
$ ls -l > lsout
$ ls -l 1> lsout
这个例子通过操作符>把ls命令的输出内容保存到lsout文件中
$ ls -al >> lsout
这条命令将ls的内容追加到lsout文件的尾部