Shell编程规划与变量

目录

一、Shell 脚本概述

1.1 Shell 概念

2.1 Shell 的作用

2.1.1 shell 脚本是什么

2.1.2 shell 脚本能做什么

2.1.3 应用场景

3.1 Shell 脚本的构成

3.1.1 shell 脚本构成

3.2.2 shell 脚本的执行

二、重定向与管道操作

2.1 重定向

2.2 重定向操作

2.3 重定向输出

2.4 重定向输入 

2.5 错误重定向

2.6 管道操作


一、Shell 脚本概述

1.1 Shell 概念

  • Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式可是交互也可以是非交互式的,我们所输入的命令计算机是不识别的,这时就需要一种程序来帮助我们进行翻译,变成计算机能识别的二进制程序,同时又把计算机生成的结果返回给我们。
  • 将要执行的命令按顺序保存到一个文本文件
  • 给该文件可执行权限
  • 可结合各种Shel控制语句以完成更复杂的操作

总结:Shell 就是一个翻译器,将用户的命令翻译成机器识别语言。

2.1 Shell 的作用

 Shell 是一个特殊应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,负责解释命令行。

常见的 Shell 解释器程序有很多种,使用不同的 Shell 时,其内部指令、命令行提示符等方面会存在一些区别。通过/etc/shells 文件可以了解当前系统所支持的 Shell 脚本种类。

[root@localhost ~]# cat /etc/shells
/bin/sh   #是bash命令的软链接  (已经被/bin/bash所替换)
/bin/bash   基准于GNU的框架下发展出的Shell。
/usr/bin/sh   已经被bash所替换。
/usr/bin/bash   #centos和redhat系统默认使用bash shell
/bin/tcsh   #csh的增强版,与csh完全兼容 整合了csh,提供更多的功能。
/bin/csh   #已经被/bin/bash 所替换  (整合C shell,提供更多的功能)

注:nologin:奇怪的shell,这个shell可以让用户无法登录主机。
       bash ( /bin/bash)是目前大多数Linux版本采用的默认Shell。

为什么要用shell?

在linux基础内完成自动化;

为什么我们的系统上合法的shell要写入/etc/shells这个文件?
这是因为系统某些服务在运行过程中,会去检查用户能够使用的shells,而这些shell的查询就是借由/etc/shells这个文件。

用户什么时候可以取得shell来工作?还有我这个默认会取得哪一个shell?
当我登录的时候,系统就会给我shell让我来工作,而这个登录取得的shell就记录在/etc/passwd这个文件内。

不同的shell具备不同的功能,shell还决定了Linux中默认的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途
目前大多数linux系统默认使用的是bash shell,默认登陆shell是/bin/bash,可以查看/etc/passwd文件里注明;

这个shell是针对用户而言的,可以查看/etc/passwd里面的最后的字段使用的是哪个shell,如果想要修改可以用chmod -s或者chsh -s来重新指定

2.1.1 shell 脚本是什么

shell脚本就是说我们把原来 linux 命令或语句放在一个文件中,然后通过这个程序文件去执行时,我们就说这个程序为 shell 脚本或 shell 程序;我们可以在脚本中输入一系统的命令以及相关的语法语句组合,比如变量,流程控制语句等,把他们有机结合起来就形成了一个功能强大的 shell 脚本。

总结:将需要执行的命令保存到一个文件中,按照顺序执行,它不需要编译,它是解释型的。

2.1.2 shell 脚本能做什么

  • 自动化完成软件的安装部署,如安装部署LAMP架构服务
  • 自动化完成系统的管理,如批量添加用户
  • 自动化完成备份,如数据库定时备份
  • 自动化的分析处理,如网站访问量

2.1.3 应用场景

  • 重复性操作
  • 交互性任务
  • 批量事务处理
  • 服务运行状态监控
  • 定时任务执行

3.1 Shell 脚本的构成

3.1.1 shell 脚本构成

注意:

  • 第一行为 “#!/bin/bash”,脚本申明(默认解释器):表示此行以下的
  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值