一.shell脚本
在 /etc/shells 中可以找到当前系统支持的shell脚本种类
脚本用途
将简单的命令组合完成复杂的工作,自动化执行命令,提高工作效率
减少手工命令的重复输入,一定程度上避免人为错误
将软件或应用的安装及配置实现标准化
用于实现日常性的,重复性的运维工作,如:文件打包压缩备份,监控系统运行状态并实现告警等
脚本构成
脚本申明(解释器):第一行开头“#!/bin/bash”,表示此行以下的代码语句是通过/bin/bash程序来解释执行。#!/bin/bash为默认的解释器还有其他类型的解释器,#!/bin/python #!/bin/expect
注释信息:以#开头的语句表示为注释信息
可执行语句、命令:比如echo命令用于输出" "之间的字符串
脚本执行逻辑和方式
相对绝对路径
相对路径
./cipan.sh 需要执行权限! chmod 777 cipan.sh绝对路径
~/cipan.sh指定解释器执行
bash cipan.shsource 和 ‘.’ 启动 ,但是会在启动一个bash进程,影响当前环境
脚本可能发生的错误
1.命令错误:默认后续的命令还会继续执行,用bash -x进行检查
2.语法错误:可以使用bash -n 检查错误,错误的行数不一定准确
3.逻辑错误:只能自己去筛查
二.重定向与管道符
1)重定向
类型 设备文件 文件描述编号 默认设备
标准输入 /dev/stdin 0 键盘
标准输出 /dev/stdout 1 显示器
标准错误输出 /dev/stderr 2 显示器
标准输入:从该设备接收用户输入的数据
标准输出:通过该设备向用户输出的数据
标准错误:通过该设备报告执行出错的信息
重定向的意思就是,不通过标准输出到屏幕上,输出到自己指定的位置
类型 操作符 用途 重定向输入 < 从指定的文件读取数据,而不是从键盘输入 重定向输出 1> 将输出结果保存到指定的文件(覆盖原有内容) >> 将输出结果追加到指定的文件尾部 标准错误输出 2> 将错误信息保存到指定的文件(覆盖原有内容) 2>> 标准错误输出结果追加到指定的文件尾部 混合输出 &>(无论对错都可以重定向) 将标准输出、标准错误的内容保存到同一个文件中2)多行重定向
Here Document 概述 使用 I/O 重定向的方式将命令列表提供给交互式程序或命令,比如 ftp、cat 或 read 命令。 HereDocument是标准输入的一种替代品, 可以帮助脚本开发人员不必使用临时文件来构建输入信息, 而是直接就地生产出一个文件并用作命令的标准输入。EOF
—————————————————————————————————————————————————————————————————————————————————
—————————————————————————————————————————————————————————————————————————————————
————————————————————————————————————————————————————————————————————————————————
三.变量
1)常见shell变量类型
自定义变量:由用户自己定义,修改和使用
环境变量:由系统维护,用于设置工作环境
只读变量:只可以读取不可以更改
位置变量:通过命令行给脚本传递参数
预定义变量:Bash中内置的一类变量,不能修改 有些规定好的变量 放在那里让你使用
2)变量命名要求
区分大小写
不能使程序中的保留字和内置变量:如:if, for,hostname 命令
只能使用数字、字母及下划线,且不能以数字开头,注意:不支持短横线 “ - ”,和主机名相反
不要使用内置的变量,使用英文尽量使用词义通俗易懂,PATH
自定义变量
name='value'变量名=变量值
直接字串:name='root'
变量引用:name="$USER"
命令引用:name=COMMAND
或者 name=$(COMMAND)
注意:变量赋值是临时生效,当退出终端后,变量会自动删除,无法持久保存,脚本中的变量会随着脚本结束,也会自动删除
变量引用:
$name
${name}
弱引用和强引用
"$name " 弱引用,其中的变量引用会被替换为变量值
'$name ' 强引用,其中的变量引用不会被替换为变量值,而保持原字符串
变量追加值
格式 变量名+=追加值
1.赋值时使用双引号(" ")可以直接调用变量
2.赋值时使用单引号(' ')只会被认为是字符 不会调用变量
3.赋值时使用(``反撇在tab上面)命令替换,提取命令执行后的输出结 果 和$( ) 用法相同
4.{}可以分隔变量值
read -p
从键盘输入的内容变成变量
整数运算
expr和let只能进行整数的运算
格式: expr 变量1 运算符 变量2 [运算符 变量3]
运算符:
加法 +
减法 -
乘法 \ *
除法 /
取余 (取模)%
随机数生成
1-100随机数
提取系统信息
环境变量
由系统提前创建,用来设置用户的工作环境
可以使用env查看环境变量
需要记住的常用环境变量
:
$USER 表示用户名称
$HOME 表示用户的宿主目录
$LANG 表示语言和字符集
$PWD 表示当前所在工作目录
$PATH 表示可执行用户程序的默认路径
标签:脚本,输出,shell,变量,基础,命令,bash,name From: https://www.cnblogs.com/tsumiki/p/17629567.html