Shell脚本入门总结
作者:马鹏
归档:学习笔记
2017/7/20
格式说明:
蓝色字体:注释
×××背景:重要
绿色背景:注意
目 录
第1章 常见的shell类型 II
第2章 shell的好处 II
第3章 本次shell课程的目的 II
第4章 如何学习shell脚本 III
4.1 shell脚本是什么 III
4.2 学习shell准备工作: III
4.3 shell脚本的书写格式: III
学习脚本 IV
第5章 命令这里就不多说了 IV
第6章 变量: V
6.1 变量的分类: V
6.1.1 全局变量 V
6.1.2 局部变量 VI
扩展 VII
6.1.3 特殊变量(位置变量、执行进程判断变量) VIII
Shell脚本入门总结
shell(壳)提供了一个高级语言和汇编语言沟通的桥梁,通过shell我们可以将高级语言的执行指令发送给硬件使用二级制完成指令。
第1章 常见的shell类型
/bin/bash ###linux常用的shell
/bin/sh ###和/bin/bash属于软连接文件关系
[root@mapeng-linux bin]# ll /bin/sh
lrwxrwxrwx. 1 root root 4 Apr 25 19:17 /bin/sh -> bash
[root@mapeng-linux bin]#
/sbin/nologin ###一个特殊的shell、用户使用这个shell将无法登陆系统。常用于创建傀儡账号使用
第2章 shell的好处
1) 批处理
2) 提高工作效率
3) 减少重复工作
第3章 本次shell课程的目的
1) 能看懂脚本
2) 尝试写简单的脚本
3) 为后面的期中架构做基础
第4章 如何学习shell脚本
4.1 shell脚本是什么
shell脚本 ①是一个程序文件由若干个命令组成命令语句,
②有命令、变量和流程控制语句的结合体
4.2 学习shell准备工作:
1) 统一脚本存放路径: /server/scripts/
[root@mapeng-linux /]# mkdir -p /server/scripts/
2) 统一使用vim编辑脚本
vim “脚本名称”
3) 统一脚本的标识(开头说明信息)
4)
4.3 shell脚本的书写格式:
学习脚本
shell脚本是有命令、变量和流程控制语句的结合体
第5章 命令这里就不多说了
1)常用命令掌握300个
2)熟练使用awk、sed、grep以及正则表达式
第6章 变量:
6.1 变量的分类:
6.1.1 全局变量
6.1.1.1 特点:
① 全员生效
② 通常使用大写来定义
6.1.1.2 使用:
① 查看全局变量
###使用命令env
root@mapeng-linux /]# env
HOSTNAME=mapeng-linux
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=192.168.60.1 49277 22
SSH_TTY=/dev/pts/0
USER=root
② 定义全局变量
###使用命令export "变量名称"=“变量内容”
1创建个全局变量 MP=74110
[root@mapeng-linux /]# export MP=74110
[root@mapeng-linux /]# env |grep MP
MP=74110
[root@mapeng-linux /]# echo $MP
74110
[root@mapeng-linux /]#
③ 删除全局变量
###使用命令unset “变量名称”
[root@mapeng-linux /]# unset MP
[root@mapeng-linux /]# echo $MP
[root@mapeng-linux /]#
④ 让变量永久生效
让变量永久生效:
1)全局环境变量配置文件: /etc/profile /etc/bashrc /etc/profile.d
2) 用户环境变量配置文件: /home/“用户”/.bash_profile ~/.bashrc
6.1.2 局部变量
6.1.2.1 特点:
① 只对当前设置用户生效
② 变量名称规范:
4)
扩展
单引号、双引号和不加引号的区别
双引号:解析变量
单引号:所见即所得
演示环境:
[root@mapeng-linux /]# a=192.168.1.1
[root@mapeng-linux /]# b="192.168.1.1"
[root@mapeng-linux /]# c='192.168.1.1'
[root@mapeng-linux /]# echo 'a=$a'
a=$a ###单引号、所见即所得
[root@mapeng-linux /]# echo "a=$a"
a=192.168.1.1 ###解析变量
[root@mapeng-linux /]#
[root@mapeng-linux /]# echo a=$a
a=192.168.1.1 ###相当于双引号、单支持通配符
[root@mapeng-linux /]#
6.1.3 特殊变量(位置变量、执行进程判断变量)
6.1.3.1 位置变量
1) $0:动态提示语句(动态生成文件名)
脚本演示:
[root@mapeng-linux /]# sh hostname.sh
hostname.sh
[root@mapeng-linux /]# cat hostname.sh
#!/bin/bash
cd /root/
echo $0
[root@mapeng-linux /]#
2)$n:获取当前执行shell脚本的第几个参考值,n=1-9
脚本演示:
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
转载于:https://blog.51cto.com/oldma/2044300