shell编程

作者:
时间:2022/09/13
浏览:
评论:沙发尚在
分类:域名空间
标签:

解释型语言:相对于编译型语言存在的,源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。

Perl是最老牌的脚本编程语言了,Python这些年也成了一些linux发行版的预置解释器。

依照Unixshell的各种不同类型,Shellscript也有各种不同方言。

利用Shellscript可以进行系统管理,文件操作等。

$只匹配行尾。

**5.1、单引号字符串:**name=\SnailClimb\hello=\Hello,Iam\$name\!\echo$hello输出内容:>Hello,IamSnailClimb!**5.2、双引号字符串:**name=\SnailClimb\hello=”Hello,Iam”$name”!”echo$hello输出内容:>Hello,IamSnailClimb!**5.3、拼接字符串:**name=”SnailClimb”greeting=”hello,”$name”!”greeting_1=”hello,$funWithParam1234567893473第一个参数为1!第二个参数为2!第十个参数为10!第十个参数为34!第十一个参数为73!参数总数有11个!作为一个字符串输出所有参数1234567893473!,**shell编程****初始shell**程序语言编程———————————-语言自然语言:汉语、英语计算机语言:c语言、c++、(javaphppythongoshell)编译型语言cc++java解释型语言phppythonbash\u200b编译型语言:运行编译型语言是相对于解释型语言存在的,编译型语言的首先将源代码编译生成机器语言,再由机器运行机器码(二进制。

**Windows上的模拟器**windows出厂时没有内置shell解释器,需要自行安装,为了同时能用grep,awk,curl等工具,最好装一个cygwin或者mingw来模拟linux环境。

通过这种方式运行bash脚本,第一行一定要写对,好让系统查找到正确的解释器。

Expect则可以根据程序的提示模拟标准输入提供给程序需要的输入来实现交互程序执行。

在LinuxPC上,利用arm-linux-gcc编译器,可编译出针对LinuxARM平台的可执行代码。

环境变量PATH的信息可以使用下面命令查看,注意大写PATH:echo$PATH2shell技巧2.1输入输出重定向1.输入重定向输入重定向运算符<,指定右值为左值的输入命令<文件名2.输出重定向输出重定向运算符>,指定右值为左值的输出命令>文件名(追加用>>)例如:catfile1>filecatfile2>>file3.错误重定向命令2>文件名注意:*在错误重定向中使用了标准错误文件的编号。

Shell字符串入门字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号。

比如Python/JavaScript/Perl/Shell等都是解释型语言c编译型执行代码需要编译成cpu能认识的二进制码x86指令集java编译型执行,编译–>字节码,cpu不能直接运行,只能被Java虚拟机执行shell解释型执行慢

!**shell定义**Shell也是一种程序设计语言,它有变量,关键字,各种控制语句,有自己的语法结构,利用shell程序设计语言可以编写功能很强、代码简短的程序!Shebang定义解释器**shell的分类和切换**root@linux-server~cat/etc/shells/bin/sh/bin/bash/sbin/nologin/usr/bin/sh/usr/bin/bash/usr/sbin/nologin\u200b默认shell:bashshellcentos中脚本使用的默认shell为/usr/bin/sh查看当前正在使用的shellroot@linux-server~echo$SHELL/bin/bash\u200bshell的切换vim/etc/passwd编辑登录shell**使用场景**什么时候不适合使用Shell编程:1.资源紧张的项目,特别是那些速度是重要因素的地方(排序,散序,等等)2.程序要进行很复杂的数学计算,特别是浮点计算,任意精度的计算,或者是复数计算3.要求交叉编译平台的可移植性(使用C或者是Java代替)4.需要结构化编程的复杂应用(需要变量类型检查和函数原型等等)5.对于影响系统全局性的关键任务应用。

**Shell脚本介绍**\u200b我们是通过编写Shell命令发送给linux内核去执行,操作就是计算机硬件。

,”

Bsh是产生较早的UNIXShell程序,实现了最基本的命令解释器的功能,同时也可以作为脚本编程语言**Csh**:是因使用C语言的语法风格而得名,在用户的命令行交互界面上进行了很多改进,并增加了历史,别名,文件名替换,作业掏等功能,相比Bsh,Csh在更加适用为用户提供命令交互操作**Ksh**:在Bsh和Csh之后出现的,结合了两都的功能优势,兼具Bsh的语法和Csh的交互特性.**Bash**:从名称可以看出是Bsh的升级版本,是著名的开源软件项目,目前大多数的Linux版本(包括RedHat公司的Linux系统)都使用Bash作为默认的Shell程序当运行Shell程序时,实际运行的是Bash程序**Zsh**:更多地基于交互式操作考虑进行设计的Shell程序,集成了Bash,Ksh等多种Shell程序的优点1.3编写脚本**新建一个/opt/a.sh文件**!/bin/bashechohelloworld!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。

通过这种方式运行bash脚本,第一行一定要写对,好让系统查找到正确的解释器。

很多人会说Shell编程属于运维方面的知识了,应该是运维人员来做,我们做后端开发的没必要学。

**Shell在线工具*****Shell脚本Shell脚本(shellscript),是一种为shell编写的脚本程序。