下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、shell研究总结大全linux:bash solaris和bsd:sh(bour shell) aix是ksh hp-ux是:posix shell(sh) 3.执行的办法: source test.sh ./test.sh(这个需要执行权限:chomod +x test.sh是要有执行权限。) bash test.sh sh test.sh 4.shell文件的开始: !/bin/sh !/bin/bash !/bin/awk !/bin/pect !/bin/perl !/bin/tcl 5.系统全局变量: $home $user $uid $pwd $shell $path 6.现实默
2、认变量: env 7.取消自己声明的变量: userdir=aa 作为变量: d= e=$() *10.shell特别变量: 位置变量 $n,$0,$*,$,$.$? $_(最后一个参数。) *最多的好像$?看是否执行胜利。在写脚本时候,要推断惟独上边胜利才往下执行用。 * $0文件名字。 * $参数个数。 进程变量: $(猎取当前shell的进程号pid),$!(执行上一个命令的pid),$?(猎取执行的上一个命令的返回值,0表示胜利,非零表示失败),$_(在此之前执行的指令活着最后一个参数) echo '$0 猎取当前执行的shell脚本的文件名:' $0 echo
3、9;$n 猎取当前执行的shell脚本的第n个参数值,n=1.9:' '$1'=$1 '$2'=$2 $3=$3 echo '$* 猎取当前shell的全部参数 $1 $2 $3 .注重与$的区分:' $* echo '$ 猎取当前shell指令行中参数的总个数:' $ echo '$ 猎取当前shell的进程号(pid):' $ 2 echo '$! 执行上一个命令的pid :' $! echo '$? 猎取执行的上一个命令的返回值 :' $? echo '$ 这个
4、程序的全部参数 $1 $2 $3 . :' $ echo '$_ 在此之前执行的指令或脚本的最后一个参数:'$_ 变量字符串 $sing 返回string字符串长度 $string:position 猎取从position开头到最后的全部字符串 $string:position:length 猎取从position开头的长length的字符串。 11.变量的数值计算:() let bc () a=1 echo $(a+) echo $(3 2) b= 45 echo $($b+23) let:使用let赋值表达式: let i=i+8 等于(i=i+8) -更高 bc指
5、令使用:bc是unix计算器:可以对小数操作,其他不能对小数操作。 echo 3.6+1|bc echo scale=3;3.434*7.43545 |bc -scale是保留几位小数,但只对除法起作用。 echo scale=3;3.434/7.43545 |bc echo obase=2;2 |bc -obase是进制 2就是二进制。 expr特别使用: 算术计算: expr $2+2 等等% / * + - *(表示此方 expr $2*3)都一样。 expr 3 + 2 也可以,但是其他的如* 等都棘手,所以普通不用这种办法,用上边的。 字符串: expr index ys ds 结果
6、是2。 是查找后边字符串在前边字符串中第几个字母后边。从1开头,yd共1 2所以其次个后边就返回2 expr bstr tiankong0505 3 2 结果是:an就是从第三个开头取得后边二个字符。包括第三个,而且是从1开头 expr length ydds 返回字符串的长度。 12.shell的变量输入办法:read read -p 请输入 a b 给a b赋值 read -t 2 a1 意思是给a1赋值,但是限制时光是2秒内。假如2秒不说如就退出来。 13.推断测试操作: 文件测试操作符: -f 文件存在并且一般文件则为真 -d 文件存在且为名目文件则是真 -s 文件存在且不为空则是真
7、-e文件存在则真 字符串测试操作符: -z 串 若串长度为0则为真 -n 串 若串长度不为0则真 串1=串2 串1等于串2 串1!=串2 不等于 整数二元比较操作: -eq 相等 -ne 不等 -gt 大于 -ge 大于等于 -lt 小于 -le 小于等于 规律操作:可以衔接上边的推断。 -a 规律的与 -o 规律的或 ! 非 ( $a $b ) = =可以用或者() |可以用或者什么都不用。 -f $1 | -e $file1 echo 1 | echo 0 1 rootfanjianfei -f $file1 -a -e $file1 echo 1 | echo 0 rootfanjian
8、fei -f $file1 | -e $file1 echo 1 | echo 0 1 rootfanjianfei -f $file1 -a -e $file1 echo 1 | echo 0 1 14.分支结构: if 1 -lt 2 then fi if then else fi if then elif then else fi 举例子: 比较大小 !/bin/sh if 12 23 then echo fi if 12 -lt 23 then echo fi if ( 12 13 ) then echo fi case结构: case 字符串变量 in 值1)命令 ; 值1)命令 ;
9、 esac while语句: while 条件 do 命令 done util语句: until 条件 do 命令 done for语句 for 变量名 in 变量列表 do 命令 done 例子: for n in seq 10 do echo $n done 解释:seq 指令是生成序列:seq 5 就等于1 2 3 4 5 seq 2 5 是等于 2 3 4 5 for(i=0; i i+) do curl done 延续10次拜访网址。curl是拜访网址的。 break continue exit使用: break 和continue和其他的语言使用一样: exit n 退出shell
10、程序,并返回n,n可以省略。 15。shell函数: 函数名() 命令 函数返回值调用并接收:用echo a() echo nihao tmpreturn=a 16.引入其他的shell用.就行了 vim ydds.sh . ./test.sh 上边就是引入了。第一个是执行.(或者是source) 其次个是./就是当前名目。 *17.把指令作为变量: d=ls 或者 d=$(ls) 18.普通用定义环境变量,但是普通自己写时候不一定要定义。没有特别要求就不用。 19.shift是用掉参数。: !/bin/sh echo - while $ -ne 0 do echo $1 shift done
11、 sh shift.sh a b c 假如在没有shift时候那么就会无限循环,但是假如加shift那么就是用掉一个去掉一个, 就相当于用尽把$2移动变为$1等等一次。就会输出。a b c不是无限循环。由于到最后就没有参数了。都删除了。 20.local作用:在函数中式设定私有变量。 21 declare作用 选项 -r 只读 1 declare -r var1 (declare -r var1与readonly var1是彻低一样的) 这和c语言中的const关键字一样, 都用来指定变量为只读. 假如你尝试修改一个只读变量的值, 那么会产生错误信息. -i 整型 1 declare -i n
12、umber 2 脚本将会把变量 number 根据整型举行处理. 3 4 number=3 5 echo number = $number number = 3 6 7 number=three 8 echo number = $number number = 0 9 脚本尝试把字符串 three 作为整数来求值(译者注: 固然会失败, 所以浮现值为0). 假如把一个变量指定为整型的话, 那么即使没有expr或者let指令, 也允许用法特定的算术运算. 1 n=6/3 2 echo n = $n n = 6/3 3 4 declare -i n 5 n=6/3 6 echo n = $n n = 2 -a 数组 1 declare -a indices 变量indices将被视为数组. -f 函数 1 declare -f 假如在脚本中用法declare -f, 而不加任何参数的话, 那么将会列出这个脚本之前定义的全部函数. 1 declare -f fun
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年宜宾市翠屏区街道办人员招聘考试备考试题及答案详解
- 2026年济南市历下区街道办人员招聘考试备考试题及答案详解
- 2026年枣庄市山亭区街道办人员招聘考试参考试题及答案详解
- 2026年徐州市鼓楼区街道办人员招聘考试备考试题及答案详解
- 2026年长春市朝阳区街道办人员招聘考试备考题库及答案详解
- 2026年新疆维吾尔自治区吐鲁番市街道办人员招聘考试备考试题及答案详解
- 2026云南红河州弥勒市元亨社会工作服务中心招聘1人笔试参考题库及答案详解
- 2026年广州市海珠区中小学教师招聘考试备考题库及答案详解
- 2026年郑州市金水区街道办人员招聘笔试备考试题及答案详解
- 2026中国游戏开发行业市场供需分析技术创新评估规划研究报告
- 2026年肾内科医生三基三严培训试卷及答案
- 2026年哈尔滨市道里区六年级下学期期末英语试题及答案
- 护理人员的情绪管理与礼仪
- 2026上海博物馆公开招聘12名工作人员考试备考试题及答案解析
- 2026年高考化学终极冲刺:专题03 化学反应原理综合题(大题专练逐空突破)(全国适用)(原卷版及解析)
- GB/T 31458-2026医院安全防范要求
- 实验室触电培训
- 政协提案知识培训讲稿
- (高清版)DG∕TJ 08-15-2020 绿地设计标准 附条文说明
- 途虎养车转店协议合同
- 食品车间员工培训大纲
评论
0/150
提交评论