建设银行公积金网站提示udun,集安网站建设,汕头手机端建站模板,罗湖做网站公司排名Linux 系统中的 Shell 是一个特殊的应用程序#xff0c;它介于操作系统内核与用户之间#xff0c;充当 了一个“命令解释器”的角色#xff0c;负责接收用户输入的操作指令#xff08;命令#xff09;并进行解释#xff0c;将需要执行的操作传递给内核执行#xff0c;并…Linux 系统中的 Shell 是一个特殊的应用程序它介于操作系统内核与用户之间充当 了一个“命令解释器”的角色负责接收用户输入的操作指令命令并进行解释将需要执行的操作传递给内核执行并输出执行结果。
什么是shell脚本 就是将命令按顺序一一列出最后自动执行执行需要权限也可以直接使用路径脚本其实并不复杂通用脚本环境改变后依然可以使用脚本
脚本的构成 1.脚本声明解释器第一行开头#!/bin/bash,表示此行以下的代码语句是通过/bin/bash程序来解释执行。#!/bin/bash是默认的解释器还有其他类型的解释器#!/bin/python #!/bin/expert等 2.注释信息以#开头的语句表示为注释信息 #注释 3.可执行语句:比如echo命令用于输出 之间的字符串
脚本执行逻辑 1.顺序执行程序按照自上而下顺序执行 2.选择执行程序执行过程中根据条件的不同进行选择不同分支继续执行 3.循环执行程序执行过程中需要重复执行多次某段语句
执行脚本方式 1.按照指定路径执行文件需要有执行权限 2.指定shell解释器去执行不需要权限 bash 脚本名 3.使用source和 . 执行不需要权限 推荐使指定路径和解释器去执行脚本会开启子进程去执行脚本不会影响当前操作source和 . 不会开启子进程会影响当前进程
脚本错误 1.命令错误命令出错不会影响接下来的命令继续 2.语法错误会影响接下来的命令继续执行 3.逻辑错误只能自己筛查 代码检查 1.bash -n 检查语法错误 将脚本的所有语句执行一遍 2.bash -x 逻辑错误 检查语法错误 set -e 写在脚本前面出错立即停止 变量基础 定义变量 变量名变量值 调整变量echo $变量名 取消变量unset 变量名 追加变量 变量名追加的内容 export 变量 可以让子进程也可以使用变量 变量命名要求 1.区分大小写 2.不能使用数值开头 特殊符号 1.双引号 可以识别变量 2.单引号 不能识别变量 3.反撇 调用命令的执行结果 等价于 $() 4. { } 定义变量名的范围 read -p 从键盘输入的内容变成变量 变量的作用范围 默认情况下新定义的变量只能在当前的shell环境有效因此称为局部变量当子程序或新的shell环境中局部变量将无法再起作用 可以通过内部命令export将指定的变量变为全局变量使用户定义的变量所在的子shell环境中可以继续使用 export 变量名 整数运算 运算符 - \* / %(取余) expr 算术表达式 let 变量名变量1 运算符 变量2 ... echo $变量名 变量名$[算术表达式] echo $变量名 变量名算术表达式 echo $变量名 echo $[RANDOM] 取随机数 范围是0-32767 echo $[RANDOM%33] 取0-32的随机数 echo $[RANDOM%331] 取1-33的随机数
特殊变量 预定义变量 $* 返回所有的位置参数所有参数当作一个整体返回 $ 返回所有的位置参数所有参数当作个体返回 $? 表示前一条命令执行的返回状态返回值为0表示正确返回任何非0值均表示出现异常 $# 表示命令行中位置参数的总个数 $0 表示当前执行的脚本或程序的名称 $$ 当前bash的进程id $! 后台任务最后一个id 环境变量 env 看到所有的环境变量 $USER 表示用户名称 $HOME 表示用户的家目录 $LANG 表示语言和字符集 $PWD 表示当前所在工作目录 $PATH 表示可执行用户程序的默认路径 位置变量 位置变量也称为位置参数使用$1 $2 $3....$9 表示 $0表示当前脚本的名称