网站域名的所有权北海住房和城乡建设局网站
news/
2025/10/6 3:02:42/
文章来源:
网站域名的所有权,北海住房和城乡建设局网站,教务系统网站开发方法,wordpress做线下交易shell的脚步总是以这样的一行开头#xff1a;#!/bin/bash这行叫做shebang顺序执行两个命令#xff0c;可以$cmd1;cmd2要验证脚本语法的准确性#xff0c;可以用bask-nscriptfilename来验证如果要debug则为bash-xscr.sh删除老的文件#xff1a;find /home/wwwroot -type f-m… shell的脚步总是以这样的一行开头#!/bin/bash这行叫做shebang顺序执行两个命令可以$cmd1;cmd2要验证脚本语法的准确性可以用bask-nscriptfilename来验证如果要debug则为bash-xscr.sh删除老的文件find /home/wwwroot -type f-mtime 30 -exec rm-f{}\;这里{}和;都是-exec必须的加\是防止shell解析;错误输出如果看见命令结尾有一个2/dev/null这是将命令的标准错误输出即2定向到null这就是linux的文件描述符decsriptorstdin0stdout1stderr2你可以把错误和标准输出分别重定向到两个文件somecmd2err.txt1out.txt变量变量既可以做字符也可以做整数如果是当作整数操作时要加上letletx$x1不然用x$x1就变成后面加上一个1了注意变量赋值等号前后不要有空格变量的长度就是说它有几个字符${#var}变量类型变量都是作为string存储的如果要做数学运算就要用let或者中括号letresultno1no2#这里引用变量不用$了letreultletno16ORresult$[no1no2]#这里对于空格的位置和个数要求很高中括号里面也可以用$引用result$[$no1100]还有一种方法是用(()),比较烦了还有方法是expr命令对于格式要求很高expr34返回7如果没有加对空格expr34就返回“34”了resultexpr34result$(expr$no15)注意上面$加上()其实也是运行一个命令获取返回值的办法。注意如果你要引用变量的值要放在引号里的话把它放在双引号里如果是放在单引号里不会自动扩展变量的值。环境变量UID是用户ID对于root总是0所以要检查是不是以root身份在运行if[$UID-ne0];thendosomethingfi输出变量的时候echo$varecho${var}都可以后者可能是嵌套在双引号里面有用不容易和其他文字混淆。数组的定义可以两种方法array(123456)或者array[0]aarray[1]barray[2]c引用数组的值echo${array_var[0]}或者echo${array_var[$index]}或者打印所有echo${array_var[*]}要知道数组长度echo${#array_var[*]}×××函数函数定义可以是functionfname(){...}或者直接fname(){...}引用的时候直接用名字fname,有参数的话加在后面不用括号$1$2$3原来使用传递给function的参数$?表示上次执行的命令返回的值一般0表示运行正常循环判断等顺序的命令forvarinlist;docommands;#use$vardone----whileconditiondocommands;done------x0;until[$x-eq9];doletx;echo$x;done-----ifcondition;thencommands;fi-------ifcondition;thencommands;elifcondition;thencommandselsecommandsfi--------在条件判断里面如果判断string的话最好是加上双括号[[$str1$str2]][[$str1!$str2]][[$str1$str2]][[-z$str1]]:Returnstrueifstr1holdsanemptystring[[-n$str1]]:Returnstrueifstr1holdsanon-emptystring脚本里面运行一个命令或程序是可把命令程序名称放在变量里的看profile运行目录里一系列.sh文件用了这个方法for i in/etc/profile.d/.sh;doif[-r$i];then.$ifidoneLinux对正则表达式支持的很好如果熟悉的话工作起来会很方便。比如对于.conf之类的配置文件通常里面很多是#开头的注释行。你要看真正有用的配置行的话就可以用这个命令grep^[^#]httpd.conf这里第一个^表示行的开头中括号里的^表示否即找出行开头不是#的行还有很多实用的用法等以后想到一一补充呵呵。sed 里的正则表达式又有些不同。小括号和大括号前面都要加上反斜杠不然就当一个普通字符处理。\{i\}As *, but matches exactly i sequences (i is a decimal integer; for portability, keep it between 0 and 255 inclusive). \{i,j\}Matches between i and j, inclusive, sequences. \{i,\}Matches more than or equal to i sequences. \(regexp\)Groups the inner regexp as a whole, 括号里定义的正则表达式匹配的字符可以引用\digitMatches the digit-th \(...\) parenthesized subexpression in the regular expression. This is called a back reference. Subexpressions are implicity numbered by counting occurrences of \( left-to-right. 转载于:https://blog.51cto.com/caozs/202236
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928950.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!