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

全国公路建设信用网站人才招聘网站建设

全国公路建设信用网站,人才招聘网站建设,潍坊网站建设wfxtseo,沈阳建设工程质量安全一、shell基本基础知识 1. shell命令中捕获上一个命令执行是否成功#xff0c;通过判断 $? 是否为0#xff0c;为0则表示成功#xff0c;其他错误码则表示执行失败。 2. sheel命令中#xff0c;变量赋值时默认都是字符串类型。赋值时须注意单引号与双引号的区别#xf… 一、shell基本基础知识 1. shell命令中捕获上一个命令执行是否成功通过判断 $? 是否为0为0则表示成功其他错误码则表示执行失败。 2. sheel命令中变量赋值时默认都是字符串类型。赋值时须注意单引号与双引号的区别 单引号不识别特殊语法。返回字符串内的原始内容。 双引号可以识别特殊符号。 无引号默认字符串但是中间有空格时容易出错建议双引号 反引号用于命令返回的结果等同于$()的用法。比如echo ls -l等价于echo $(ls -l),推荐后面的这种写法。 name奥利给 echo ${name} 奥利给 #输出奥利给 name1${name} echo ${name1} ${name} #不识别name这个变量输出原始文字 name2${name} echo ${name2} 奥利给 #识别了name变量并转成其值“奥利给” 3. bash和source及.的执行区别通过bash执行shell脚本相当于在当前窗口进行下启动一个子进程而通过source及.执行shell脚本是加载到当前的shell环境中。可通过pstree查看进程树。 4. 环境变量 用户环境配置文件在每个用户的目录下~/.bash_profile及~/.bashrc,这两个文件在用户登录时会自动加载运行。 系统配置文件对所有的用户生效(全局)在/etc/profile中会自动加载运行 查找环境变量 set/declare  显示所有的变量包括全局变量和局部变量 env 显示全局变量 export 显示和设置环境变量值临时的 5. 支持多条命令执行通过分号隔开 二、shell特殊变量 1. shell的特殊变量用于脚本、函数传递参数的时候有如下位置特殊变量 1$0 获取shell脚本文件名脚本路径 2$n 获取shell脚本的第n个位置参数n取值在1-9之间如果大于9则要写${10}参数空格隔开 3$# 获取shell脚本执行的参数总个数 4$* 获取shell脚本的所有参数不加引号等同于$。加上引号$*表示接收所有参数为单个字符串即所有的参数为一个整体。 5$ 获取shell脚本的所有参数不加引号等同于$*。加上引号$,每一个参数都是独立的。 2. shell脚本的特殊状态变量 1$? 上一次执行命令返回值返回为0表示成功其他则为失败 2$$ 当前shell脚本的进程ID可以用来停止当前脚本的进程 3$! 获取上一次后台执行的进程PID可以用来停止上一个后台执行脚本的进程。 4$_ 获取上次命令的最后一个参数 三、shell内置命令 echo  打印到终端相当于简化版的printf eval 一次执行多个命令命令之间用分号隔开。eval ls;cd /tmd exec 不创建子进程执行命令并且执行完后自动执行exit 四、shell变量子串的用法 ${变量}    返回变量值 ${#变量}  返回变量长度字符长度 ${变量:start}  返回变量start数值之后的字符索引从0开始 ${变量:start:length}  提取start之后的length限制的字符 ${变量#word}  从变量开头删除最短匹配的word子串 ${变量##word}  从变量开头删除最长匹配的word子串 ${变量%word}  从变量结尾删除最短的word子串,这里的word可以用正则表达式来匹配。 ${变量%%word}  从变量结尾删除最长的word子串 ${变量/pattern/string}  用string替代第一个匹配的pattern.如果string为空则表示删除匹配到的字符串 ${变量//pattern/string} 用string替代所有匹配的pattern。如果string为空则表示删除匹配到的字符串 nameJolin Su name1abcABC123ABCabc file/home/user/documents/report.txt echo ${name} Jolin Su #返回变量的值 echo ${#name} 8 #返回变量的长度 echo ${name:3} in Su #从索引3开始输出 echo ${name:2:3} lin #从索引2开始输出3个字符 echo ${name#Jo} lin Su #从变量开头匹配上了Jo删掉 echo ${name#lin} Jolin Su #需要注意lin在中间不能匹配上开头所以返回原来的值 echo ${name1#a*c} ABC123ABCabc #从开始删除a*c匹配到的最短字符串 echo ${name1##a*c} #返回为空所有的字符都被删掉了a*c最长匹配到了最后一个 echo ${file#*/} home/user/documents/report.txt # #*/表示移除从开头开始的第一个斜杠及其之前的所有内容。 echo ${file##*/} report.txt # ##*/表示移除从开头开始的所有斜杠及其之前的所有内容直到最后一个斜杠为止。 echo ${file/o/xx} /hxxme/user/documents/report.txt echo ${file//o/xx} /hxxme/user/dxxcuments/repxxrt.txt echo ${name/o/} Jlin Su 五、shell变量扩展用法 主要用于变量值为空的判断及处理 result${parameter:-word}   如果${parameter}为空返回word字符串给result result${parameter:word}   ${parameter}为空返回word字符串给result并且赋值给parameter result${parameter:?word}   ${parameter}为空返回word字符串给result,相当于错误信息输出 result${parameter:word}   ${parameter}为空则什么都不做如果非空则返回word给result 六、父子shell shellsource script  - command1 - command2                       在同一个shell窗口执行命令 shell/bin/bash script --                                                          --      命令结束后返回父shell subshell                              --comand1 --command2 --         在子shell执行命令 shell./script --                                                                         --命令结束后返回父shell subshell:                             --command1 --command2 --      在子shell执行命令 #注意三种执行script的父子shell的不同在编写脚本时需要重点注意。 七、shell算数运算 7.1 shell中常见的算术运算符 运算符意义(*表示常用)、-加号(正号)、减号(负号)**、/、%乘号、除号、取余(取模)***幂运算 *、--增加及减少可前置也可放在变量结尾*!、、||逻辑非(取反)、逻辑与(and、逻辑或(or)*、、、比较符号小于小于等于大于大于等于、!、比较符号(相等不相等对于字符串也可以表示相等) *、向左移、或向右移~、|、、^按位取反按位异或按位与按位或、、-、*/、%赋值运算符例如a1相当于aa1 7.2 shell中常见的算术运算命令 运算操作符与运算命令意义(())相当于整数运算的常用运算符效率很高let用于整数运算类似(())expr可以用于整数运算但还有其他的额外功能bcLinux下的一个计算器程序(适合整数及小数运算)$[]用于整数运算awkawk即可用于整数运算也可以用于小数运算declare定义变量值和属性-i参数可以用于定义整形变量做运算 双小括号(()) 运算操作符与运算命令意义((ii1))此写法为运算后赋值法即将i1的结果赋值给变量i。注意不能用echo ((ii1))的形式输出表达式的值但可以用echo $((ii1)i$((i1))可在(())符号前面加$符表示将表达式运算结果赋值给i((8755))可以进行比较操作还可以加入逻辑与和逻辑或用于条件判断echo $((21))需直接输出运算表达式的运算结果时可在(())前加$符 2. a和a的区别 a先计算1在赋值给a a先对变量a操作再进行1 a5 echo $((a)) #结果是5先打印然后再1赋值给a echo $a #结果是6 b5 echo $((b)) #结果是6先对b1再打印 echo $b #结果是6 7.3 expr命令 常用来做模式匹配用法 expr string  : .*     #string为字符串对象为固定格式表示匹配统计后面表达式的匹配到的长度。 .*这里.是固定的*为正则表达式可以根据需要修改。 7.4 bc工具 前面的字符通过管道符|交给bc来运算并打印返回结果 echo 3*3.5 | bc   #返回结果10.5 7.5 awk命令 echo 2.2 3.5 |awk {print ($1 $2)} 八、条件判断 Shell中的 test 命令用于检查某个条件是否成立它可以进行数值、字符和文件三个方面的测试。 补充说明shell脚本中命令支持和||的用法表示前面的条件为真才执行||前面的条件不成立才执行。举例 test -e hello.txt echo 文件存在 || echo 文件不存在 test命令和[ ] 的使用判断里面的条件表达式是否为真为真则返回0,否则非0。 注意 1. [ ] 里面的条件在左右括号的前后必须有空格。 2. 在[ ]条件判断中变量引用必须加上双引号 。 3. [[ ]]双中括号的条件判断可以更灵活支持  和 || 逻辑运算符而[ ] 要实现逻辑表达需要使用 -a 或者 -o 分别表示and和or。表示非。 参数如下 8.1 数值测试 参数说明-eq等于则为真-ne不等于则为真-gt大于则为真-ge大于等于则为真-lt小于则为真-le小于等于则为真 num1100 num2100 if test $[num1] -eq $[num2] thenecho 两个数相等 elseecho 两个数不相等 fi 8.2 字符串测试 参数说明等于则为真!不相等则为真-z 字符串字符串的长度为零则为真-n 字符串字符串的长度不为零则为真 num1ru1noob num2runoob if test $num1  $num2 thenecho 两个字符串相等! elseecho 两个字符串不相等! fi 8.3 文件测试 参数说明-e 文件名如果文件存在则为真-r 文件名如果文件存在且可读则为真-w 文件名如果文件存在且可写则为真-x 文件名如果文件存在且可执行则为真-s 文件名如果文件存在且至少有一个字符则为真-d 文件名如果文件存在且为目录则为真-f 文件名如果文件存在且为普通文件则为真-c 文件名如果文件存在且为字符型特殊文件则为真-b 文件名如果文件存在且为块特殊文件则为真 cd /bin if test -e ./bash thenecho 文件已存在! elseecho 文件不存在! fi 九、条件判断 9.1. if语句来判断 #单条件循环 if [ ];then执行代码fi #两条件循环 if [ ];then执行代码 else执行代码fi #多条件循环 if [ ];then执行代码 elif [ ]执行代码 else执行代码 fi 9.2  case语句多条件模式匹配 #!/bin/bashecho 请输入一个数字 (1-3 或其他): read numbercase $number in1|2|3)echo 你输入了一个 1 到 3 之间的数字;;[4-9])echo 你输入了一个 4 到 9 之间的数字;;[0-9]*)echo 你输入了一个多位数;;*)echo 你输入的不是一个数字;; esac 双分号 (;;) 每个命令块以 ;; 结尾表示命令块的结束。最后一个命令块通常是默认情况可以省略 ;;。使用 esac esac 是 case 语句的结束标志是 case 的反向拼写。 十、函数 #函数的基本定义 function test(){定义函数的动作 }#函数调用 test 1. 函数必须先定义再执行从上往下执行 2. 函数体内定义的变量为局部变量仅在函数体内有效 3. 函数体内当有需要返回值时添加return语句作用是退出函数且将返回值赋值给调用程序在shell中通过$?获取其return的值 4.return语句和exit语句的差异 1return是退出函数只能写在函数中给出返回值 2exit是shell内置命令是退出shell脚本的执行并返回码 5. 函数如果单独写入一个文件里需要通过source读取 6.
http://www.w-s-a.com/news/148635/

相关文章:

  • 江西中国建设银行网站首页永久免费自助建网站
  • 创建自己网站的步骤吸引人的微信软文
  • 网站建设与网页设计论述题软件开发公司在哪里
  • 二级网站建设方案模板亚马逊网站建设案例
  • 网站开发兼职团队门户网站如何制作
  • 高州市网站建设开发区招聘信息
  • 上海专业网站制作设计公司企业邮箱怎样注册
  • 网站建设在商标第几类网站建设 设计创意
  • 做一网站APP多少钱重庆中色十二冶金建设有限公司网站
  • 网上做效果图网站有哪些软件徐州泉山区建设局网站
  • 凯里网站制作网站篡改搜索引擎js
  • 如何使用凡科建设网站武安城乡建设网站
  • 网站建设网站及上传wordpress火车头发布
  • 有没有做网站的团队电脑版传奇网站
  • 建立企业网站公司医疗创意小产品设计
  • 深圳 做网站 车公庙免费的招标网有哪些
  • 网站在那里备案成都成华区网站建设
  • 做网站选哪家好搜索引擎优化的目标体系包括哪些
  • 做数据可视化的网站ppt2016是制作网页的软件
  • 济宁市建设工程质量监督站网站徐州网站优化推广
  • 北京网站设计多少钱php做商品网站
  • 能打开的网站你了解的彩票网站开发dadi163
  • 手机做网站价格优秀企业网站建设价格
  • 电商网站建设企业做网站的客户多吗
  • 有做思维图的网站吗西安建设市场诚信信息平台网站
  • 网站建设求职具备什么30岁学网站开发
  • 官方网站minecraft北京低价做网站
  • 网站建设报价兴田德润机械加工网络接单
  • 免费的推广网站安卓app制作平台
  • 长春火车站附近美食建设信用卡银行积分兑换商城网站