当前位置: 首页 > news >正文

建设银行内部网站6建筑学院官网

建设银行内部网站6,建筑学院官网,jsp简述网站开发流程,电影《设计》Linux之Shell脚本编程入门 文章目录 Linux之Shell脚本编程入门Shell脚本编程入门1. 脚本格式2. 第一个Shell脚本#xff1a;hello World3.第二个 shell脚本#xff1a;duo命令处理4. shell中变量4.1 常用系统变量4.2 自定义变量4.3 特殊字符: $n4.4 特殊变量: $#4.5 特殊变量…Linux之Shell脚本编程入门 文章目录 Linux之Shell脚本编程入门Shell脚本编程入门1. 脚本格式2. 第一个Shell脚本hello World3.第二个 shell脚本duo命令处理4. shell中变量4.1 常用系统变量4.2 自定义变量4.3 特殊字符: $n4.4 特殊变量: $#4.5 特殊变量: ∗ 与 *与 ∗与4.6 特殊变量: $? 5. 运算符5.1 基本语法5.2 实操案例 6. 条件判断6.1 基本语法6.2 常用判断条件6.3 实操案例 7.流程控制7.1 if 判断7.2 case 语句7.3 for循环7.4 while 循环7.5 read读取控制台输入 What is Shell Shell是一个命令行解释器它接收应用程序/用户命令然后调用系统操作内核。 Shell还是一个功能相当强大的编程语言易编写、易调试、灵活性强。 Shell脚本编程入门 查看Linux系统已提供的shell解释器 cat /etc/shells查看当前系统使用的默认shell解释器 echo $SHELL1. 脚本格式 脚本一**#/bin/bash**开头(指定解析器) 2. 第一个Shell脚本hello World # 1. touch hello.sh# 2.vim hello.sh# 3.输入下面内容 #/bin/bash echo Hello World!#4.执行hello.sh sh hello.sh #或 bash hello.sh #或使用绝对路径 # sh /home/myShell/hello.sh # bash /home/myShell/hello.sh # 5.打印结果 Hello World!#6.使用./hello.sh 执行时提示权限不够 [rootMiWiFi-R4CM-srv myShell]# ./hello.sh -bash: ./hello.sh: 权限不够 # 6.1 授权 chmod 777 hello.sh # 6.2 再使用 ./ 执行hello.sh ./hello.sh #或使用绝对路径如下: /home/myShell/hello.sh 为什么使用 sh 或bash执行shell脚本时不需要执行权限而使用**./**执行shell脚本时需要执行权限呢 使用sh或bash时本质时bash解析器帮你执行脚本所以脚本本身不需要执行权限使用./执行shell时,本质是脚本需要自己执行所有需要执行权限 3.第二个 shell脚本duo命令处理 需求创建一个shell脚本本脚本可以在 /home/myShell/目录下建立test.txt文件,并向test.txt文件中增加“I love shell”; 创建一个名为“appendStr.sh”的shell脚本内容如下 #!/bin/bash cd /home/myShell/ touch test.txt echo I love shell test.txt4. shell中变量 4.1 常用系统变量 $HOME $PWD $ SHELL $USER等 echo $HOMEecho $PWDecho $SHELLecho $USER4.2 自定义变量 基本语法 定义变量变量名值【注意 两边不能有空格】 # 定义一个变量A赋值为 A1 # 取变量的值 echo $A撤销变量unset 变量名 unset A 声明一个静态变量readonly 变量名注意不能unset重启系统后失效 readonly B2定义变量的规则 变量名可以由字母、数字和下划线组成但不能以数字开头环境变量名建议大写 赋值符号()两边不能有空格 在bash,中变量默认类型都是字符串类型无法直接进行数字运算 变量的值如果有空格需要使用双引号或单引号括起来,如下 DI love shell 或 DI love shell可把变量提升为全局环境变量可供其他Shell程序使用 export 变量名4.3 特殊字符: $n 基本语法 $n: n为数字$0代表该脚本名称$1- 9 代表第一个至第九个参数十以上的参数需要用大括号括起来如 9代表第一个至第九个参数十以上的参数需要用大括号括起来如 9代表第一个至第九个参数十以上的参数需要用大括号括起来如{10} 实操案例 输出该及爱哦本文件名称输入参数1和输入参数2的值 新建文件名为 paramaters.sh 的shell,内容如下 #!/bin/bash echo $0 $1 $2执行paramaters.sh [rootMiWiFi-R4CM-srv myShell]# sh inputoutput.sh a b inputoutput.sh a b4.4 特殊变量: $# $#功能描述获取所有输入参数的个数如果定义了参数但为输入则为0常用与循环 实操案例 以paramaters.sh为例 #!/bin/bash echo $0 $1 $2 echo $## 不输入参数的情况 [rootMiWiFi-R4CM-srv myShell]# sh paramaters.sh inputoutput.sh 0 # 输入参数的情况 [rootMiWiFi-R4CM-srv myShell]# sh paramaters.sh hello this is shell inputoutput.sh hello this is shell 2[rootMiWiFi-R4CM-srv myShell]# sh paramaters.sh hello this is shell world inputoutput.sh hello this is shell 34.5 特殊变量: ∗ 与 *与 ∗与 KaTeX parse error: Undefined control sequence: \* at position 1: \̲*̲:这个变量代表命令行中所有的参…*是把所有的参数看成一个整体 : 这个变量也代表命令行中所有的参数但 :这个变量也代表命令行中所有的参数但 :这个变量也代表命令行中所有的参数但把每个参数区分对待 实操案例 # paramaters.sh 内容如下 #!/bin/bashi-R4CM-srv myShell]# echo $0 $1 $2 echo $# echo $* echo $# 执行 [rootMiWiFi-R4CM-srv myShell]# bash paramaters.sh p1 p2 p3 paramaters.sh p1 p2 3 p1 p2 p3 # $* 输出所有参数 p1 p2 p3 # $ 输出所有参数4.6 特殊变量: $? $?: 最后一次执行的命令的返回状态。如果这个变量的值为0证明上一个命令正确执行如果这个变量的值为非0(具体是哪个参数由命令自己来决定)则证明上一个命令执行不正确 实操案例 [rootMiWiFi-R4CM-srv myShell]# sss -bash: sss: 未找到命令 [rootMiWiFi-R4CM-srv myShell]# echo $? 127 #未正确执行[rootMiWiFi-R4CM-srv myShell]# ./hello.sh Hello World! [rootMiWiFi-R4CM-srv myShell]# echo $? 0 # 正确执行5. 运算符 5.1 基本语法 “ ( ( 运算式 ) ) ”或“ ((运算式))” 或 “ ((运算式))”或“[运算式]”expr , - , *, / , % [expr 加减乘除取余] 注意expr 与运算的数值及运算符之间要有空格 5.2 实操案例 使用 “ ( ( 运算式 ) ) ”或“ ((运算式))” 或 “ ((运算式))”或“[运算式]” 进行计算 # 加法 [rootMiWiFi-R4CM-srv myShell]# ADD$((23)) [rootMiWiFi-R4CM-srv myShell]# echo $ADD 5 # 加、除、减 [rootMiWiFi-R4CM-srv myShell]# SUB$[(35)/2-2] [rootMiWiFi-R4CM-srv myShell]# echo $SUB 2 # 混合运算 [rootMiWiFi-R4CM-srv myShell]# MULT$[(55)-4*3/2%5] [rootMiWiFi-R4CM-srv myShell]# echo $MULT 9使用expr 计算 [rootMiWiFi-R4CM-srv myShell]# expr 43 43 # [rootMiWiFi-R4CM-srv myShell]# expr 4 3 7 # - [rootMiWiFi-R4CM-srv myShell]# expr 6 - 3 3 # * [rootMiWiFi-R4CM-srv myShell]# expr 5 \* 3 15 # / [rootMiWiFi-R4CM-srv myShell]# expr 6 / 3 2 [rootMiWiFi-R4CM-srv myShell]# expr 6 % 5 1 # 计算 2 4 * 5 的值 # 先使用包住括号内的运算然后在*5如下 [rootMiWiFi-R4CM-srv myShell]# expr expr 2 4 \* 5 30 [rootMiWiFi-R4CM-srv myShell]# 6. 条件判断 6.1 基本语法 [condition] (注意condition前后要有空格) 注意条件非空即为true,[yuan]返回true,[]返回false 6.2 常用判断条件 两个整数之间比较 比较符说明字符串比较-lt小于(less than)-le小于等于(less equal)-eq等于(equal)-gt大于(greater than)-ge大于等于(greater than)-ne不等于(Not equal) 按照文件权限进行判断 判断符说明-r有读的权限(read)-w有写的权限(write)-x有执行权限(execute) 按照文件类型进行判断 判断符说明-f文件存在并且是一个常规的文件(file)-e文件存在(existence)-d文件存在并是一个目录(directory) 6.3 实操案例 数字比较运算 # 1 2 ? [rootMiWiFi-R4CM-srv myShell]# [ 1 -gt 2 ] [rootMiWiFi-R4CM-srv myShell]# echo $? 127# 1 2 ? [rootMiWiFi-R4CM-srv myShell]# [ 1 -lt 2 ] [rootMiWiFi-R4CM-srv myShell]# echo $? 0# 3-1 2 ? [rootMiWiFi-R4CM-srv myShell]# [ $((3-1)) -eq 2 ] [rootMiWiFi-R4CM-srv myShell]# echo $? 0文件权限判断练习 [rootMiWiFi-R4CM-srv myShell]# ll -rwxrwxrwx. 1 root root 32 3月 3 13:00 hello.sh# hello.sh 文件 是否有可写权限 [rootMiWiFi-R4CM-srv myShell]# [ -w hello.sh ] [rootMiWiFi-R4CM-srv myShell]# echo $? 0 # 有 # hello.sh 文件 是否有可读权限 [rootMiWiFi-R4CM-srv myShell]# [ -r hello.sh ] [rootMiWiFi-R4CM-srv myShell]# echo $? 0 # 有 # hello.sh 文件 是否有可执行权限 [rootMiWiFi-R4CM-srv myShell]# [ -e hello.sh ] [rootMiWiFi-R4CM-srv myShell]# echo $? 0 # 有 文件类型练习 # 查看 /home/myShell/test.txt 文件存在且是一个常规文件 [rootMiWiFi-R4CM-srv myShell]# [ -f /home/myShell/test.txt ] [rootMiWiFi-R4CM-srv myShell]# echo $?0 # 存在 # 查看 /home/myShell/aaa.txt 文件是否存在 [rootMiWiFi-R4CM-srv myShell]# [ -e /home/myShell/aaa.txt ] [rootMiWiFi-R4CM-srv myShell]# echo $? 1 # 不存在# /home/myShell 是否为一个目录 [rootMiWiFi-R4CM-srv myShell]# [ -d /home/myShell ] [rootMiWiFi-R4CM-srv myShell]# echo $? 0 #是目录多条判断 表示前一条命令执行成功时才执行后一条命 || 表示上一条命令执行失败后才执行下一条命令 [ condition ] echo OK || echo NotOK[ condition ] [] || echo NotOK 7.流程控制 7.1 if 判断 基本语法 if [ 条件判断式 ];then# 程序代码 elif [ 条件判断式 ];then# 程序代码 fi # 或者 if [ 条件判断式 ]then# 程序代码 elif [ 条件判断式 ]then # ... fi 注意 [ 条件判断式 ]中括号和条件判断式之间必须有空格 if 后要有空格 实操案例 a. 输入一个数字如果输入的是1、2、3则输出具体的数字否则什么也输出 b. 新建一个shell文件名称为control_if.sh ,内容如下 #!/bin/bash if [ $1 -eq 1 ] thenecho You entered the number 1 elif [ $1 -eq 2 ] thenecho You entered the number 2 fi if [ $1 -eq 3 ];thenecho You entered the number 3 elseecho You entered the other number fic. 执行control_if.sh # 不带参数执行 [rootMiWiFi-R4CM-srv myShell]# sh controll_if.sh controll_if.sh: 第 2 行:[: -eq: 期待一元表达式 controll_if.sh: 第 5 行:[: -eq: 期待一元表达式 controll_if.sh: 第 9 行:[: -eq: 期待一元表达式# 执行controll_if.sh 并带参数1 [rootMiWiFi-R4CM-srv myShell]# sh controll_if.sh 1 You entered the number 17.2 case 语句 基本语法 case $变量名 in值1如果变了的值等于1则执行程序1;;值2如果变量的值等于2则执行程序2;;........ esac 实操案例 新建control_case.sh内容如下 #!/bin/bash case $1 in 1)echo You entered the number 1 ;; 2)echo You entered the number 2 ;; esac执行control_case.sh [rootMiWiFi-R4CM-srv myShell]# bash control_case.sh 1 You entered the number 17.3 for循环 基本语法1 for ((初始值;循环控制条件;变量变化)) docommand1command2...commandN done实操案例新建一个control_for.sh内容如下 #!/bin/bash result0 for((i1;i100;i)) doresult$[$result$i] done echo $result基本语法2 for var in item1 item2 ... itemN docommand1command2...commandN done实操案例 打印所有输入参数1 创建shell脚本control_for_one.sh内容如下 #!/bin/bash # $* 任意参数(是个整体) for i in $* do echo I love $i done# $ 任意参数(逐个区分) for j in $ do echo I love $j done执行shell control_for_one.sh [rootMiWiFi-R4CM-srv myShell]# sh control_for_one.sh a b c d e I love aI love bI love cI love dI love e打印所有输入参数2 实操案例 #!/bin/bash # $*与$ 不加双引号时看不出来区别 for i in $* do echo I love $i donefor j in $ do echo I love $j doneecho # $*与$ 加双引号时区明显 for m in $* do echo I love $m done for n in $ do echo I love $n done执行结果 [rootMiWiFi-R4CM-srv myShell]# sh control_for_one.sh a b c d e I love aI love bI love cI love dI love e I love a I love b I love c I love d I love eI love a b c d e I love a I love b I love c I love d I love e7.4 while 循环 基本语法 while [条件表达式] do#code done 实操案例:请1100的和 创建control_while.sh,内容如下 #!/bin/bash i1 s0 while [ $i -le 100 ] dos$(($s$i)) i$(($i1)) done echo $s执行 [rootMiWiFi-R4CM-srv myShell]# sh control_while.sh 50507.5 read读取控制台输入 基本语法 read [选项] [参数] 选项 -p:指定读取值是的提示符-t:指定读取值时等待的时间(单位秒) 参数 变量指定读取的变量名 实操案例 提示10秒内读取控制台输入的名称;10秒后失效 新建read.sh内容如下 #!/bin/bash read -t 10 -p Please enter your name in ten second NAME echo $NAME执行 # 10 秒内输入 aa [rootMiWiFi-R4CM-srv myShell]# bash read.sh Please enter your name in ten second aa aa # 10 秒内再输入 cc [rootMiWiFi-R4CM-srv myShell]# cc cc: 致命错误没有输入文件 编译中断。 [rootMiWiFi-R4CM-srv myShell]#
http://www.zqtcl.cn/news/530285/

相关文章:

  • 大学生做微商网站金华seo扣费
  • 以前老网站邯郸推广网络宣传哪家好
  • 网站建设技术网站建设奉节网站建设公司
  • 动漫视频网站模板动漫制作专业什么电脑最适合
  • 合网站建设注册一个500万的公司需要多少钱
  • 《网站推广策划》wordpress 写博客
  • 网站开发工程师面试问哪些问题免费下载软件商店安装
  • 建网站公司要钱吗公司制作网站跟企业文化的关系
  • 网站改版对用户的影响网站评论怎么做的
  • 许昌市做网站公司汉狮价格装修案例图片 效果图
  • 设计主题网站化肥厂的网站摸板
  • 做羊水亲子鉴定网站网络推广是啥
  • 怎样解析网站域名用哪个网站做首页比较好
  • 设计网站页面设计wordpress样式错乱
  • 静态网页模板免费网站wordpress悬浮按钮
  • 怎么制作学校网站大淘客网站代码
  • 如何做好一个网站wordpress 修改邮箱设置
  • 网站项目方案生态建设研究所网站
  • 用织梦做视频网站wordpress文章不能分段
  • 彩票网站开发. 极云邮箱类网站模板
  • 网站代运营协议网站 文件服务器
  • 专业网站设计公司有哪些绿色营销案例100例
  • 网站建设买了域名山东省作风建设网站
  • 留学中介网站建设方案设计企业品牌商标
  • 会展相关网站建设情况seo的基本步骤是什么
  • 太原网站建设鸣蝉公司免费网页制作网站建设
  • 中山专业网站建设网站开发基础知识简述
  • 包头索易网站建设中国建设银行网站余额查询
  • 哪家公司做网站开发做得比较好佛山商城网站制作
  • 可以做淘宝推广的网站优化网页设计是什么