[Shell基础] shell 入门

1. 为什么要使用Shell脚本

使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象

缺点:

效率通常不如编译型语言。

优点:

简单性:Shell是一个高级语言;通过它,你可以简洁地表达复杂的操作。
可移植性: 使用POSIX所定义的功能,可以做到脚本无需修改就可在不同的系统上执行
开发容易:可以在短时间内完成一个功能强大又好用的脚本。

2. Shell脚本的典型开发周期:

1、直接在命令行(command line)上测试
2、一旦找到能够完成工作的适当语法,再将它们放进一个独立的脚本里
3、为该脚本设置执行的权限

3. 命令

$ cd work;ls -l whizprog,c

  • 以空白(Space键或Tab键)隔开命令行中各个组成部分
  • 命令名称是命令行的第一个项目,比如ls
  • 命令名称后面会跟着选项(option),选项的开头是一个破折号(或者减号),后面接着一个字母。选项是可有可无的。
  • 以两个破折号(–)来表示选项结尾的用法
  • 分号(;)可以用来分隔同一行里的多条命令,Shell会依次执行这些命令。
  • 如果使用的是&符号而不是分号,则Shell将在后台执行其前面的命令,这意味着,Shell不用等到该命令完成,就可以继续执行下一个命令。

4. Tab 键

Tab 键具有文件名补全功能,单击补全,双击列出文件列表。

5. 通配符

*匹配任意长度字符串
? 匹配一个字符串
[ ]匹配出现在方括号内的字符,例如 [aA] a 或 A , [1-3] 1、2或3

6. 注释

#开头的行就是注释,会被解释器忽略。
sh里没有多行注释,只能每一行加一个#号。

如果在开发过程中,遇到大段的代码需要临时注释起来,过一会儿又取消注释,怎么办呢?
每一行加个#符号太费力了,可以把这一段要注释的代码用一对花括号括起来,定义成一个函数,没有地方调用这个函数,这块代码就不会执行,达到了和注释一样的效果。

7. 一个简单的shell脚本

(1)who命令可以告诉你现在系统有谁登陆:

$who  
root     pts/2        2012-05-05 09:38 (192.168.0.83)  
root     pts/3        2012-05-05 09:38 (192.168.0.83) 

(2)利用wc(字数计算)程序,它可以算出行数(line),字数(word),字符数(character)。在此例中,我们用的是wc -l ,已登录用户的个数。
(3)|(管道)符号可以在两个程序之间建立管道(pipeline):who的输出,成了wc的输入。

$ who|wc -l  
2                                      //计算用户个数

(4)把这条命令输入一个文件中,然后使用chmod为该文件设置执行权限。

$ cat > nusers                  #建立文件,使用cat复制终端的输入  
who | wc -l                     #程序的内容  
^D                              #此处按Ctrl+D 表示 end-of-file  
$ chmod +x nusers               #让文件拥有执行的权限  
$ ./nusers                      #执行测试  
2                               #输出我们要的结果  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值