版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Shell目Shell目1、Linuxshell简 、Shell概 、Shell基本格 、Shell执行方 、Shell注 2、Shell基本语 、 、 、 、 3、Shell综合案 、打印9*9乘法 1、Linuxshell1.1、Shell1、Linuxshell1.1、Shell1Shell(GUIGUIUnixUnix操作系统构造一个功能完善、操作简单以及界面友好的桌面环境。主流桌面环境有KDE,Gnome等。CLI是在用户提示符下键入可执行指令的界面,用户通过键盘输入指令,完成一系列操Shelltcsh、csh、ash、bsh、kshShellCUnix/Linux的桥梁,用户的大部分工序、建立文件并以并行的方式协调各个程序的运行。Shell种接口,目前最流行的ShellbashShell(BourneAgainbashLinuxShell。bashbsh完全向后兼容,并bshbashCshellKornshell中的优点。bashKornShellPublicDomainKornShell(pdksh)。Shell是一门编程语言(解释型的编程语言)shell脚本(linuxshell命令编程Shell是一门编程语言(解释型的编程语言)shell脚本(linuxshell命令编程Shell行一行敲到ShellUnix/Linux上常见的Shell脚本解释器有bashshcshksh等Shell。统中安装的shell,不同的shell可能支持的命令语法是不相同的shUnixshellSteveBourneBourneShellbashLinuxshellbash讲解。bash由BrianFoxChet共同完成,是BourneAgainShell[root@hadoop02bin]#vi执行我们的这个脚本程序。本质上,shell脚本里面的代码都是就是一些流程控制语句加一1、sh方式或者bash方式shhelloworld.sh ##表示用哪一种shell##echo"hello ##tcsh(csh的扩展户感觉方便的新特性,其最大的提高是在命令行编辑和历史浏览方bash ##bashshell2、bash ##bashshell2、source方式或者.sourcefilename或 1.4、Shell hellohello这句话是注释,也就是说在 !中间的都是这句话是注释,也就是说在 !中间的都是注echo!2、Shell2.1、变2.1.1、系统常用系统变量:$PWD$SHELL$USER$HOME$PATH$IFS$LANG$UID2.1.2、自定义使用变量:命令:ABC='huangbo',带了单引号则原样输出。表示引号中间的值是整体字符串命令:ABC='huangbo',带了单引号则原样输出。表示引号中间的值是整体字符串命令:echo'xuzheng$ABC'和echo"xuzheng$ABC"如果是双引号,那么$ABC能打印出变量的值"3、变量高级用法声明静态变量:readonlyABC3、变量高级用法声明静态变量:readonlyABC能获取到b脚本的变量,b脚本能不能获取到ab.sha.sh使用exportexportA="Ain就成了a.sh脚本所在bash进程的全局变量,该进程的所有子进程都能访问到变量A ##注意:重点关注最前面那个“.echo$Aecho$Becho$Aecho$B1、a.shb.shb.shAbash1、a.shb.shb.shAbash4、反引号赋值a=`lsl/root/bin`a=$(ls-l${var:-word}helloworld!:#VAR=helloworld!${var:+word}helloworld!:#VAR="hello"helloworld!${var:=word}如果变量varword,但不改变var设置为word如果变量var为空或已被删除(unset)message送到标准错误输出,可以用来检测变量var是否可以被正常赋值。若此替换出现在Shell2.1.3、特殊$*和2.1.3、特殊$*和$@$*和$@都以 …$n的形式组成参数列echo$$echo$0echo$1echo$2echo$#echo$*echo$?$?表示上一个命令退出的状态码,0为执行成功,非0$$$0$nn位置的输入参数(n$#$*和$@$!上一条运行后台进程的##VAR=#echo${VAR:?valueis-bash:VAR:valueis2.2、运算2.2.1、算数运算1[root@hadoop02bin]#vi2.2、运算2.2.1、算数运算1[root@hadoop02bin]#viexprmnexpr(2+3)*4S=`expr2+expr$S* expr`expr2+3`\*echo`expr\`expr2+3\`\*echo$*echo$@echo"$*"forain$*forbin$@doecho$bdoecho$adoecho$b"$*"会将所有的参数作为一个整体,以"$1$2…$n"的形式组成一个整串;"$@"会将各个参数分开,以"$1""$2"…"$n"的形式组成一个参数列表取余:expr4取余:expr42echoecho$((1<0))echo ##[hadoop@hadoop04data]$exprlength$NAME ##求长度[hadoop@hadoop04data]$exprindex$NAMEhuang##求子字符串首次出现的位置[hadoop@hadoop04data]$exprsubstr$NAME6 ##从6开始,截取2两个字expr$S\*434echo${third}34echo${third}echo"1.212*3"| ##echoscale=2;3/8"| echoobase=2;127"| echo$SSechoecho$[(2+echoechoecho$((base#number)) echo 21echoecho 1642.2.2、关系echo$((base#number)) echo 21echoecho 1642.2.2、关系运-=1-eq1-1-ne1-是,则返回true2ge1->是,则返回true2gt1-果是,则返回true2le1-<是,则返回true2lt1[root@hadoop02bin]#echo"1.2<2"|bc[root@hadoop02bin]#echo"1.2>2"|bc[root@hadoop02bin]#echo"1.2==2.2"|bc[root@hadoop02bin]#echo"1.2!=2.2"|bc看出规律了嘛?运算如果为真返回1,否则返回0,写一个例子:[root@hadoop02bin$(echo"2.22"|bc)eq1&&echoyes||echono[root@hadoop02bin]#[$(echo"2.2<2"|bc)-eq1]&&echoyes||echoecho"obase=10;ibase=2;101111111"|bc echo"10^10"|bc echosqrt(100)| 2.2.3、布尔运2.2.4、字符串运2.2.5、文件运-则返回trueddir_path]a"aa"a"-2.2.3、布尔运2.2.4、字符串运2.2.5、文件运-则返回trueddir_path]a"aa"a"-z$VAR2"-n$VAR1truen$VAR2>大于,判断字符串时根据ASCII码表顺在[]21在[[]]21在(())32<小于,判断字符串时根据ASCII码表顺在[]21在[[]]21在(())32在(())32在(())32$VAR1true$VAR2!!1eq2-true1eq1a2eq2为-true1eq1o2eq1为2.2.6、特殊运算工具总结2.2.7、 中括号用途总(++2.2.6、特殊运算工具总结2.2.7、 中括号用途总(++letVAR=(1+2)*3;echo$VARx=10;y=5letx++;echo$x每执行一次x1lety--;echo$y每执行一次y减1letx+=2每执行一次x加2letx-=2xexpr1\*2expr12\*2bc本身就是一个计算器,可直接输入命令,进入解释器。echo1+2|bc将管道符前面标准输出作为bc的标准输入echo"1.2+2"|bcecho"10^10"echoscale=2;10/3|bcscale-是,则返回trueffile_path]-如果是,则返回trueepathpath-否大于0),不为空返回truesfile_pathfile_path为-返回truerfile_pathfile_path-返回truewfile_pathfile_path-则返回truexfile_pathfile_path-果是,则返回true-如果是,则返回true2.3、流程控2.3.1、if[elifcondition2.3、流程控2.3.1、if[elifcondition23((<>这类比较符和&&2Cfor(())$(Shell$((2$((表达式?数字:[[[$[{对逗号(,)和点点(...)touch1,2}12touch{1..3}123${用途1:引用变量condition condition [hadoop [condition]&&echoOK||echo##readavalueforNAMEfromstdinread-p"pleaseinputyourname:"NAME##printf'%s\n'$NAMEif[$NAME=rootecho"hello elif[$NAME=hadoopecho"hello echo"Idon’tknowyou[]和[]和[[]]中逻辑组合可以使用 ||符[]里面逻辑组合可以 -=!=-z0返回-n0返回-lt小 less-le-eq-gt大于great-ge-ne[root@hadoop02bin]#if[2-lt3];thenechook;elseecho2.3.2、换种方式:循环体会一直执行,直到条件表达式expressionfalseleti++i=$(($i+1))2.3.2、换种方式:循环体会一直执行,直到条件表达式expressionfalseleti++i=$(($i+1))2.3.3、2.3.4、forinechoechoecho"Usage:leti++while[$i-le3]leti++-dif[-d/bin];thenechook;elseecho-fif[-f/bin/ls];thenechook;elseecho-eif[-e/bin/ls];thenechook;elseecho2.3.5、语法结构换种方式说:循环体会一直执行,直到条件表达式expression2.3.5、语法结构换种方式说:循环体会一直执行,直到条件表达式expression示例for((i=0;i<=2;i++));doecho"welcome$itimes";forNin{1..3};doecho$N;forNin123;doecho$N;2.3.6、跳出2.3.6、跳出2.4、数[linux@linux~]$echo[linux@linux~]$echountil[!$a-lt3]echo$a[linux@linux~]$echo[linux@linux~]$echo[linux@linux~]$echo[linux@linux~]$echo[linux@linux~]$echo删除第一个元素:[linux@linux~]$unset#2.5、函数使2.5、函数使1、必须在调用函数地方之前,先声明函数,shell脚本是逐行运行。不会像其它语言一样2、函数返回值,只能通过$?系统变量获得,可以显示加:returnreturnn(0-#return2}echo#echo$?echo$A2.6、函数参2.72.6、函数参2.7echo}echo"第一个参数为$1!"echo"第二个参数为$2!"echo"第十个参数为$10!"echo"第十个参数为${10}!"echo"参数总数有$#个!"echo$*}funcWithParam12345678934sh-x3、Shell3.19*9-n-e3、Shell3.19*9-n-eecho3.2、自动部署集群 ## 3Expect3Expect[root@hadoop02bi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青岛幼儿师范高等专科学校《针织成形服装生产技术》2023-2024学年第二学期期末试卷
- 黔南民族幼儿师范高等专科学校《生物制药》2023-2024学年第二学期期末试卷
- 山东服装职业学院《学术英语写作一》2023-2024学年第二学期期末试卷
- 私立华联学院《纺织化学》2023-2024学年第二学期期末试卷
- 湖南信息职业技术学院《四史教育》2023-2024学年第二学期期末试卷
- 塔里木大学《大学生创新创业与就业指导》2023-2024学年第二学期期末试卷
- 天津交通职业学院《定量生理学》2023-2024学年第二学期期末试卷
- 北京信息职业技术学院《安装工程计量与计价》2023-2024学年第二学期期末试卷
- 山东省青岛市2026届高三第一学期期末学业水平检测化学(含答案)
- 工业产品设计委托协议(2025年)
- 巷道工程清包工合同范本
- 广西鹿寨万强化肥有限责任公司技改扩能10万吨-年复混肥建设项目环评报告
- 三级医院营养科建设方案
- (2025年标准)彩礼收条协议书
- 宾得全站仪R-422NM使用说明书
- ASTM-D1238中文翻译(熔融流动率、熔融指数、体积流动速率)
- 短视频创作-短视频手机拍摄与剪辑
- 2025年国家公务员考试《申论》真题及答案解析(副省级)
- 贵州省遵义市2024届高三第三次质量监测数学试卷(含答案)
- 江苏省劳动合同模式
- 速冻食品安全风险管控清单
评论
0/150
提交评论