SHELL_编程的变量定义

一、SHELL脚本介绍

编译型语言:
计算机只能认识(识别)机器语言(0和1),如(11000000 这种)。但是,我们的程序猿们不能直接去写01这样的代码,所以,要想将程序猿所开发的代码在计算机上运行,就必须找"人"(工具)来==翻译成机器语言==,这个"人"(工具)就是我们常常所说的==编译器==或者==解释器==。
解释型语言:
程序不需要编译,程序在运行时由==解释器==翻译成机器语言,每执行一次都要翻译一次。因此效率比较低。比如Python/JavaScript/ Perl /ruby/==Shell==等都是解释型语言。


图片.png

编译型语言比解释型语言==速度较快==,但是不如解释型语言==跨平台性好==。如果做底层开发或者大型应用程序或者操作系开发一==般都用编译型语言==;如果是一些服务器脚本及一些辅助的接口,对速度要求不高、对各个平台的==兼容性有要求==的话则一般都用==解释型语言==。

shell简介 :
shell介于内核与用户之间,负责命令的解释

图片.png

shell就是人机交互的一个桥梁

shell的种类
[root@MissHou ~]# cat /etc/shells /bin/sh 是bash的一个快捷方式 /bin/bash bash是大多数Linux默认的shell,包含的功能几乎可以涵盖shell所有的功能 /sbin/nologin #表示非交互,不能登录操作系统 /bin/dash #小巧,高效,功能相比少一些
/bin/csh #具有C语言风格的一种shell,具有许多特性,但也有一些缺陷 /bin/tcsh #是csh的增强版,完全兼容csh

思考:终端和shell有什么关系?


图片.png

shell脚本

什么是shell脚本

一句话概括
简单来说就是将需要执行的命令保存到文本中,按照顺序执行。它是解释型的,意味着不需要编译。
准确叙述
若干命令 + 脚本的基本格式 + 脚本特定语法 + 思想= shell脚本

什么时候用到脚本?

重复化、复杂化的工作,通过把工作的命令写成脚本,以后仅仅需要执行脚本就能完成这些工作。

shell脚本能干啥?

①自动化软件部署 LAMP/LNMP/Tomcat...
②自动化管理 系统初始化脚本、批量更改主机密码、推送公钥...
③自动化分析处理 统计网站访问量 ④自动化备份 数据库备份、日志转储...
⑤自动化监控脚本

如何学习shell脚本
  1. 尽可能记忆更多的命令(记忆命令使用功能和场景) 2. 掌握脚本的标准的格式(指定魔法字节、使用标准的执行方式运行脚本) 3. 必须熟悉掌握脚本的基本语法(重点)
shell脚本的基本写法

1)脚本第一行,魔法字符#!指定解释器【必写】 #!/bin/bash 表示以下内容使用bash解释器解析
注意: 如果直接将解释器路径写死在脚本里,可能在某些系统就会存在找不到解释器的兼容性问题,所以可以使 用:#!/bin/env 解释器
2)脚本第二部分,注释(#号)说明,对脚本的基本信息进行描述【可选】

!/bin/env bash

以下内容是对脚本的基本信息的描述
Name: 名字
Desc:描述describe
Path:存放路径
Usage:用法
Update:更新时间
下面就是脚本的具体内容
commands
3)脚本第三部分,脚本要实现的具体代码内容
l脚本的执行方法
标准脚本执行方法(建议)
[root@MissHou shell01]# cat first_shell.sh

!/bin/env bash

以下内容是对脚本的基本信息的描述 Name: first_shell.sh
Desc: num1
Path: /shell01/first_shell.sh
Usage:/shell01/first_shell.sh
echo "hello world"
echo "hello world"
echo "hello world"

  1. 脚本增加可执行权限
    [root@MissHou shell01]# chmod +x first_shell.sh

  2. 标准方式执行脚本
    [root@MissHou shell01]# pwd /shell01 [root@MissHou shell01]# /shell01/first_shell.sh 或者 [root@MissHou shell01]# ./first_shell.sh
    注意:标准执行方式脚本必须要有可执行权限。
    非标准的执行方法(不建议)

直接在命令行指定解释器执行
[root@MissHou shell01]# bash first_shell.sh [root@MissHou shell01]# sh first_shell.sh [root@MissHou shell01]# bash -x first_shell.sh + echo 'hello world' hello world + echo 'hello world' hello world + echo 'hello world' hello world
-x:一般用于排错,查看脚本的执行过程 -n:用来查看脚本的语法是否有问题

使用 source 命令读取脚本文件,执行文件里的代码
[root@MissHou shell01]# source first_shell.sh hello world hello world hello world

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容