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

素材网站无水印深圳广告公司招聘

素材网站无水印,深圳广告公司招聘,芜湖做网站找哪家好,马大姐网站建设目的目录 shell语法基础 指定shell解析器 注释 运行 变量 定义变量 引用变量 清除变量值 从键盘获取值 输入单值 添加输入提示语 读取多值 ​编辑 定义只读变量 环境变量 设置环境变量与查看环境变量 特殊变量 三种引号的作用与区别 小括号与大括号 参数传递 位…目录 shell语法基础 指定shell解析器 注释 运行 变量 定义变量 引用变量 清除变量值 从键盘获取值 输入单值 添加输入提示语 读取多值 ​编辑 定义只读变量 环境变量 设置环境变量与查看环境变量 特殊变量 三种引号的作用与区别 小括号与大括号 参数传递 位置参数传递 选项参数传递 获取参数相关信息 其余预设变量 字符串处理 条件测试 文件测试 字符串测试 数值测试 控制语句 逻辑语句 条件语句 if语句 case语句 循环语句 for循环 while循环 函数 函数定义 函数的调用与返回 文件导入 shell语法基础 指定shell解析器 #!/bin/bash #!用来声明脚本由什么shell解释否则使用默认shell shell终端有多种我们大部分用的是sh或者bash其中sh是最原始的shell而bash不完全兼容sh查看系统可用的shell终端可用以下命令 vim /etc/shells /bin/sh /bin/bash /bin/rbash /bin/dash /usr/bin/tmux /usr/bin/screen注释 # 运行 shell脚本有三种执行方式 ./xxx.sh ./xxx.sh :先按照 文件中#!指定的解析器解析 如果#指定指定的解析器不存在 才会使用系统默认的解析器 bash xxx.sh bash xxx.sh:指明先用bash解析器解析 如果bash不存在 才会使用默认解析器 . xxx.sh   直接使用默认解析器解析不会执行第一行的#指定的解析器但是第一行还是要写的 三种执行情况 打开终端就会有以后个解释器我们称为当前解释器 我们指定解析器的时候使用 ./xxx.sh 或 bash xxx.sh时会创建一个子shell解析 脚本 变量 定义变量 变量名变量值 如num10 引用变量 $变量名 清除变量值 unset  从键盘获取值 read命令可以从键盘获取值 输入单值 #!/bin/bash echo -------- read data echo data$data运行结果 添加输入提示语 使用read命令的-p选项可以添加输入提示语 #!/bin/bash echo -------- read -p please input the value of data: data echo data$data读取多值 #!/bin/bash read -p please input the value of data1 and data2 data1 data2 echo data1 is ${data1} and the data2 is ${data2}注意输入时以空格作为分隔符运行结果如下  定义只读变量 readonly关键字可标识一个变量为只读变量  #!/bin/bash readonly num10 echo num$num num20 echo after num$num环境变量 设置环境变量与查看环境变量 创建一个test.sh脚本并写下 #!/bin/bash export MY_DATA42退出保存然后在终端中输入 source ./test.sh 然后在终端中输入 上述过程解析 export关键字用于定义一个环境变量source命令用于将脚本中的环境变量生效生效后的作用就是让其他脚本可识别该变量 因此假如我们重新定义一个新的脚本输入echo MY_DATA是可以输出该值的env命令用于列出所有的环境变量  特殊变量 三种引号的作用与区别 双引号可以解析变量的值单引号不能解析变量的值直接将单引号中的内容作为字符串处理反引号数字键1前的按键引用系统命令 #!/bin/bash num42 echo num$num echo num$num#直接将$num作为字符串处理。并不会解析num的值echo date is date上述代码的运行结果如下所示 小括号与大括号 ()由子shell完成不会影响当前shell的值{}由当前shell完成通常用于作为变量引用的边界 #!/bin/bash data42 ( #以下内容由子shell完成不会影响外边data的值 data43 echo 内部data值为:$data )echo 外部data值为$data #使用{}将data变量的引用与外部的eee三个字符区分开 echo ${data}eee echo echo $dataeee运行结果 因此一个好的习惯应当是在引用变量的时候使用{}将其包裹  参数传递 位置参数传递 shell中用$1、$2、$3来传递外部的第一个参数、第二个参数、第三个参数等等该参数传递方式称为位置参数传递 创建一个test.sh脚本内容定义如下 #!/bin/bash echo 第一个参数值:$1 echo 第二个参数值:$2 echo 第三个参数值:$3保存退出在命令行中执行脚本并传递参数 ./test.sh 42 43 45 运行结果为 选项参数传递 如果想实现选项参数传递而不依赖于位置可参考 shell脚本实现长短项参数设置_shell脚本处理长参数-CSDN博客 获取参数相关信息 $#:获取传入的参数个数$:获取所有的参数内容其中每个参数都会作为独立的字符串处理假设输入参数是 one two three使用 $ 会得到 one、two、three 三个独立的参数。$*:获取所有的参数内容并将所有参数作为一个整体处理。输入参数 one two three使用 $* 会得到 one two three成为一个单一字符串。 #!/bin/bash echo 第一个参数值:$1 echo 第二个参数值:$2 echo 第三个参数值:$3 echo the number of all parms is: $# echo all parms value is: $ echo all parms value is: $*for parm in $; doecho ${parm} donefor parm in $*; doecho ${parm} done运行结果 其余预设变量 $?:获取命令执行后返回的状态0表示执行成功无错误非0表示执行失败有错误$0:获取当前执行的进程名$$:获取当前执行的进程号 代码实例 #!/bin/bash function func1(){ #返回非0状态表示func1函数执行出错return 1 }function func2(){ #获取传递给func2的参数parm1$1parm2$2echo parm1 is ${parm} and the parm2 is ${pamr2}#返回0表示func2函数执行无误return_valueyesecho ${return_value}return 0 }func1 echo func1 return status is $?func2 42 43 echo func2 return status is $?return_value$(func2 54 56) echo func2 return status is $? ,and the return value is $return_value上述代码解析 function关键字用于定义一个函数shell中的return关键字是返回函数执行状态的return后的值只能是数字不能是其余字符串信息如果想返回函数体内的值给函数外部执行者使用echo命令shell中函数参数的传递同样也使用上述的位置参数传递 执行结果 获取进程名与进程号 #!/bin/bash echo process name is $0 echo process number is $$字符串处理 #!/bin/bash strhello hello world#获取 echo 字符串长度:${#str}#从下标为3的字符开始截取子串 echo ${str:3}#从下标为3的字符开始截取长度为4的子串 echo ${str:3:4}#将字符串中的第一个hello替换为hahaha new_str${str/hello/hahaha} echo $new_str#将字符串中的所有hello替换为hhhhh new_str1${str//hello/hhhhh} echo $new_str1条件测试 条件测试使用[ condition ]判断condition是否为真 使用方括号时要注意在条件两边加上空格同时运算符和操作数之间必须有空格。缺少空格会导致语法错误。 文件测试 判断文件状态 -e判断文件是否存在-d判断文件是否是一个目录-f判断文件是否是一个文件-s判断文件是否非空-r判断文件是否可读-w判断文件是否可写-x判断文件是否可执行-L判断该文件是否是符号链接-c判断是否是字符设备-b判断是否是块设备 #!/bin/bashfor item in ls; doif [ -d $item ]; thenecho $item 是一个目录elif [ -f $item ]; thenecho $item 是一个普通文件elseecho $item 是其他类型fi done字符串测试 判断两个字符串是否相等!判断两个字符串是否不相等-z判断是否是空串-n判断是否是非空串 #!/bin/bashread -p str1 str1 read -p str2 str2#如果str1和str2都不为空 if [[ ! -z ${str1} ! -z ${str2} ]];thenecho $str1echo $str2 #如果str1和str2的值相等if [ $str1 $str2 ]; thenecho str1 equal str2elseecho str1 not equal str2fi fi数值测试 #!/bin/bashread -p num1 num1 read -p num2 num2if [ $num1 -eq $num2 ]; thenecho $num1 equal $num2 elif [ $num1 -gt $num2 ];thenecho $num1 greater than $num2 elseecho $num1 less than $num2 fi控制语句 逻辑语句 与运算或运算||非运算! 条件语句 if语句 使用格式如下 if [条件1]; then执行第一段程序 elif [条件2]then 执行第二段程序 else执行第三段程序 fi 结合上述字符串测试与数值测试案例学习即可 case语句 #!/bin/bashread -p please input choice yes or no choicecase $choice inyes | y* | Y*)echo yes;;no | n* | N*)echo no;;*)echo others;; esac循环语句 for循环 #!/bin/bashread -p please input n is n declare -i sum0 declare -i i0 for ((i0;in;i)) dosum$sum$i doneecho sum$sumfor item in ls; doif [ -d $item ]; thenecho $item 是一个目录elif [ -f $item ]; thenecho $item 是一个普通文件elseecho $item 是其他类型fi donewhile循环 #!/bin/bashread -p 请输入一个正整数: nwhile [ $n -gt 0 ] doecho 当前数字是: $nn$((n - 1)) doneecho 循环结束 函数 函数定义 function 函数名(){函数体 }函数的调用与返回 函数的调用和平时调用命令一样 写一个test.sh脚本并定义文件内容如下  #!/bin/bash function max(){if [ $1 -gt $2 ];thenecho $1elseecho $2fi }max_val$(max $) echo max num is $max_val然后在终端命令行输入 ./test.sh 12 45 执行结果如下所示 文件导入 定义一个max.sh文件 #!/bin/bash function Max(){if [ $1 -gt $2 ];thenecho $1elseecho $2fi }然后再定义一个main.sh文件 #!/bin/bash #导入max.sh文件 source max.shread -p num1 num1 read -p num2 num2 #使用max.sh文件中的Max函数 max_val$(Max $num1 $num2) echo max_val is $max_val 终端命令行执行 参考 shell脚本语言(超全超详细) - 知乎
http://www.tj-hxxt.cn/news/138644.html

相关文章:

  • 网站开场动画怎么做网站怎么放404页面
  • 全网最低价查询网站娄底网站建设方案
  • 江西景德镇建设厅网站做外汇的网站
  • 网站微信二维码侧边栏漂浮框餐饮logo免费设计
  • 无锡网站排名优化费用2017年网站建设公司
  • 深圳建站的公司上海园区虚拟地址一览表
  • 张家港网站建设做网站徐州网站简介
  • 建工网官方网站wordpress防转载
  • 优化 网站访问速度益阳市网站建设
  • 免费合同模板网站网页设计与网站的关系
  • 河南第一火电建设公司网站一个人制作网站
  • 便利的龙岗网站设计建设和住房保障部 网站
  • 网站开发费 无形资产阿里云 win wordpress 伪静态
  • dedecms医院网站wap模板(橙色)4512345做销售如何在网站上搜集资料
  • 什么APP可以做网站ps软件电脑版
  • 全景网站如何建设重庆网站的建设
  • 网站做下子压缩文件的链接wordpress繁体中文
  • 郑州企业网站怎么优化广州网站优化指导
  • 网络营销公司策划方案网站怎样优化文章关键词
  • 免费网站建设培训班泰安刘明是怎么挨办的
  • 网站快照海陵区建设局网站
  • 徐州开发区中学网站西安 美院 网站建设
  • 哪些网站可以免费备案域名购买腾讯云
  • 北京网站设计制作教程网站开发一般有几个服务器
  • 汤姆叔叔官方网站建设wordpress+程序优化
  • 公众平台的微信网站开发关于做甜品的网站
  • domino 网站开发排名网站
  • 违法人员都是怎么建设网站的开封建设教育协会网站
  • 网站开发费属于软件费吗济南百度推广seo
  • 网站开发响应式专业培训机构