公司做企业网站,怎么添加网站程序,wordpress安装无法连接数据库,appstore免费下载目录 前言 一、概述 #xff08;一#xff09;、shell脚本基础概念 #xff08;二#xff09;、shell的类型 二、Shell变量 #xff08;一#xff09;、组成 1.变量名 2.变量值 #xff08;二#xff09;、类型 1.系统内置变量#xff08;环境变量#xff09; 2.自定… 目录 前言 一、概述 一、shell脚本基础概念 二、shell的类型 二、Shell变量 一、组成 1.变量名 2.变量值 二、类型 1.系统内置变量环境变量 2.自定义变量 3.预定义变量 4.位置变量 5.作用域 6.shell中的字符串 三、运算符 一、数学运算 二、比较运算 1.逻辑运算符 2.条件测试 3.字符串比较 4.数值比较 5.文件比较 四、shell脚本 一、shell脚本编写规范 二、shell运行规则 三、shell脚本运行追踪 总结 前言
shell是一个用 C 语言编写的程序它是用户使用 Linux 的桥梁。Shell 既是一种命令语言又是一种程序设计语言。
Shell 是指一种应用程序这个应用程序提供了一个界面用户通过这个界面访问操作系统内核的服务。
Shell属于内置的脚本程序开发的效率非常高依赖于功能强大的命令可以迅速地完成开发任务批处理语法简单代码写起来比较轻松简单易学。 一、概述
一、shell脚本基础概念
脚本就是将手动一次性执行的命令进行规范且自动化 二、shell的类型
shell 命令解释环境
类型有 sh ash bsh csh bash tcsh dsh zsh
在Linux系统中
文件名.sh .sh是linux下bash shell 的默认后缀
查看系统中支持的shell cat /etc/shells
查看系统默认shell echo $SHELL 二、Shell变量
一、组成
1.变量名
不会变化
声明规范 不能是数字或数字开头 以_或字母开头 变量名中不能包含特殊字符 声明方法 驼峰式 userName 双驼峰 UserName shell写法 user_name username USERNAME
2.变量值 不断变化 数字、字符 二、类型
1.系统内置变量环境变量
这种变量中主要保存的是和系统操作环境相关的数据一般对系统起作用的环境变量的变量名是系统预先设定好的。
env可在/etc/profile文件中修改 查看环境变量
echo $PATH
显示当前环境变量的值
echo $LANG 表示系统的默认语言环境为美式英语English, United States并使用UTF-8编码 查看当前的区域设置
locale 查看远程连接
echo $SSH_CONNECTION 2.自定义变量
这种变量是最常见的变量由用户自由定义变量名和变量的值。
varNamevarValue
等号两边不能有空格
字符串 shell中可以不使用引号 当包含有空格时需要使用引号
引号的用法
不会引用变量值单引号 会应用变量值双引号 引用命令结果反撇号 $(命令)应用场景较多
3.预定义变量
是Bash中已经定义好的变量变量名不能自定义变量作用也是固定的。
$0脚本本身的名称$#脚本后参数的个数$*脚本运行时参数的内容整体输出$脚本运行时参数的内容逐个输出$?脚本运行完毕后的返回值默认情况大0 成功非0 失败 一般情况下失败为1特殊的失败 4.位置变量
这种变量主要是用来向脚本当中传递参数或数据的变量名不能自定义变量作用是固定的。 脚本后参数所在的位置 $1 ... $9
5.作用域
输出 echo $varName
默认变量只在当前shell下生效
若要在当前及其子shell下生效需要声明为全局变量export 6.shell中的字符串
string 1获得字符串的长度
语法 ${#StringName} 2字符串取子串 语法 ${#StringName:position:lenght}
注意lenght没有定义时一直取到字符串的结尾 3字符串的截取 a.从左至右截取最后一个匹配字符串string之后的所有字符串 语法 ${StringName##*string}
b.从左至右截取第一个匹配字符串string之后的所有字符串 语法 ${StringName#*string}
c.从右至左截取最后一个匹配字符串string之后的所有字符串 语法 ${StringName%%string*}
d.从右至左截取第一个匹配字符串string之后的所有字符串 语法 ${StringName%string*} 4字符串的拼接 语法 StringName3${StingName1}${StringName2} 5字符串替换 语法 ${StringName/OldString/NewString} 三、运算符
一、数学运算 - * / % * 作为乘号时需要加转义符为\*运算方法 exprexpr $a $b$((ab))echo $((ab))$[ab]echo $[ab] 注意shell不支持浮点数的显示 \r回车符\d垂直制表符\v水平制表符 二、比较运算
1.数值比较
-eq等于-ne 不等于-lt小于-le小于等于-gt大于-ge大于等于 用test测试 2.文件比较
-e文件或目录是否存在-f是否为文件-d是否为目录-r判断文件是否可读-w判断文件是否可写-x判断文件是否可执行 3.字符串比较
字符串一致!字符串不一致-z字符串为空! -z字符串不为空 4.逻辑运算符
并且有假则假全真为真||或者有真则真全假为假!取反有真则假有假则真 5.条件测试
[ $a -ne $b ] echo OK条件 输出结果条件为真输出||[ $a -ne $b ] || echo OK条件 || 输出结果条件为假输出 四、shell脚本
一、shell脚本编写规范
第一行#!/bin/bash第二行#脚本的说明第三行 脚本正文
二、shell运行规则
没有x权限bash 脚本所在路径/脚本文件source 脚本所在路径/脚本文件.点脚本所在路径/脚本文件有x权限.点/脚本文件脚本绝对路径/脚本文件 不打断会一直查看 三、shell脚本运行追踪
shell脚本运行追踪bash -x 脚本所在路径/脚本文件 $[$RANDOM%100]返回100内随机数 seq 1 10返回1到10 的连续数字 {1..10}返回1到10 的连续数字 seq 1.1 10.1返回1.1 2.1 3.1.... 10.1 read -p 提示语 变量名读取键盘输入并赋值给变量名 总结
今天的任务量有些重但知识点是看懂和编辑Shell脚本的基础需要花费时间进行反复背记加油吧