shell初识

语言的分类

1.解释型语言
shell javascript python ruby perl
2.编译型语言
java c c++

语言编译过程

示例

shell的作用

1.自动化软件部署: LAMP LNMP
2.自动化管理: 系统初始化,推送公钥,批量修改密码
3.自动化分析处理: 统计网站访问量
4.自动化备份:数据库备份.日志转储
5.自动化监控脚本

shell的基本写法

shell/Python...等文件的第一行用于定义解释器类型
方式一:#!/usr/bin/bash (解释器路径写死,某些系统条件下可能无法找到解释器)
方式二:#! /usr/bin/env 解释器

shell脚本的执行方式

1.标准执行方式(必须加执行权限)
以绝对或者相对路径方式执行(当前目录执行 ./txt.sh)
2.非标准执行方式(排错用)
解释器 -x 脚本 //查看脚本执行的每一步
解释器 -n 脚本 //查看是否有语法错误

变量

$调用变量,unset取消变量

[root@localhost ~]# A=hello
[root@localhost ~]# echo $A
hello
[root@localhost ~]# unset A
[root@localhost ~]# echo $A

如果只需要调用变量值得一部分需要用${}

一.变量名定义规则
1.区分大小写
2变量名不能有特殊符号,有空格的字符变量值要用引号
3.变量名不能以数字开头
4.等号两边不能有任何空格
二.变量定义方式
1.直接赋值给变量
A=hello
2.命令执行结果给变量

[root@localhost ~]# A=`hostname`
[root@localhost ~]# A=$(uname -r)

3.交互式定义变量(read)
1)用户自己输入变量值
read 选项 变量名
-p 提示信息
-s 不显示输入内容
-n 限制输入字符长度
-t 3 限制输入的时间(3秒)

2)变量值来自文件
read -p "请输入账号:" num < a.txt

4.定义有类型的变量
declare 选项 变量名=变量值
-i 整型变量
-r 定义只读变量
-x 将变量通过环境导出(效果等于环境变量export A=123456,可通过env | grep ..查看)

三.变量分类
1.本地变量
只在当前进程有效,其他进程及其子进程无效

2.环境变量
当前进程及其子进程有效
查看当前用户的环境变量env | grep ...
查看当前用户的所有变量set
定义 export 变量名=变量值 或者 declare -x A=123
永久生效
vim /etc/profile 或者 ~/.bashrc

3.全局变量


Snipaste_2019-12-16_22-14-43.png
Snipaste_2019-12-16_22-19-37.png

你可能感兴趣的:(shell初识)