休闲小零食网站开发方案wordpress 网站地图

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

休闲小零食网站开发方案,wordpress 网站地图,salong wordpress,南昌地宝网免费发布一、shell简介 Shell是一种程序设计语言。作为命令语言#xff0c;它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令#xff1b;作为程序设计语言#xff0c;它定义了各种变量和参数#xff0c;并提供了许多在高级语言中才具有的控制结构它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令作为程序设计语言它定义了各种变量和参数并提供了许多在高级语言中才具有的控制结构包括循环和分支 Shell 是一个用 C 语言编写的程序它是用户使用 Linux 的桥梁。它既是一种命令语言又是一种程序设计语言。以下是一些Shell编程的常见用途 • 自动化任务使用Shell编程可以编写脚本来执行一系列的任务如备份文件、定时执行任务、自动化测试等。 • 系统管理通过Shell编程可以管理系统的各种配置和操作如安装软件、配置网络、管理用户等。 • 数据处理Shell编程提供了对文本文件的强大处理能力可以通过脚本来处理和分析数据如提取特定的信息、转换数据格式等。 • 系统监控使用Shell编程可以编写脚本来监控系统的运行状态如CPU使用率、内存占用等并根据条件执行相应的操作。 • 安全管理通过Shell编程可以编写脚本来执行一系列的安全管理任务如检查和修复系统漏洞、监控日志等。 二、Shell环境 Shell 编程跟 JavaScript、php 编程一样只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。 Linux 的 Shell 种类众多常见的有     Bourne Shell/usr/bin/sh或/bin/sh、 Bourne Again Shell/bin/bash 、C Shell/usr/bin/csh、 K Shell/usr/bin/ksh、Shell for Root/sbin/sh           在一般情况下人们并不区分 Bourne Shell 和 Bourne Again Shell所以像 #!/bin/sh它同样也可以改为 #!/bin/bash。 #! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序 三、实操shell脚本 例如在虚拟机内部的终端环境下使用命令vim a.sh 生成并打开sh脚本文件编辑模式其后缀名用sh表示其为脚本代码在其中写入脚本代码如下然后点击esc输入冒号wq保存退出 其中的#!bin/sh 或者#!bin/bash是一条提示信息它是用于指定脚本文件使用的Shell解释器如果脚本文件开头是 #!bin/sh那么当你执行这个脚本时系统会自动查找并使用 /bin/sh 解释器来执行脚本中的命令。 运行脚本语言使用命令sh a.sh以sh命令来指示其为脚本文件其输出结果如下 注在虚拟机内运行不美观不好用所以我就使用vscode 编辑器但是不能使用版本太新的因为我使用的是centos开发版它停止维护了所以新版本的vscode不能对其进行远程连接老版本的可以连接。 使用命令 chmod x ./a.sh 给脚本文件a.txt的每个用户都增加执行权限再使用./a.sh执行脚本 注意一定要写成 ./test.sh而不是 test.sh运行其它二进制的程序也一样直接写 test.shlinux 系统会去 PATH 里寻找有没有叫 test.sh 的而只有 /bin, /sbin, /usr/bin/usr/sbin 等在 PATH 里你的当前目录通常不在 PATH 里所以写成 test.sh 是会找不到命令的要用 ./test.sh 告诉系统说就在当前目录找 作为解释器参数 这种运行方式是直接运行解释器其参数就是 shell 脚本的文件名如 四、基础语法 1、shell变量 变量是任何一种编程语言都必不可少的组成部分变量用来存放各种数据。脚本语言在定义变量时通常不需要指明类型直接赋值就可以Shell 变量也遵循这个规则 在 Bash shell 中每一个变量的值都是字符串无论你给变量赋值时有没有使用引号值都会以字符串的形式存储。 这意味着Bash shell 在默认情况下不会区分变量类型即使你将整数和小数赋值给变量它们也会被视为字符串这一点和大部分的编程语言不同。例如在C语言或者 C 中变量分为整数、小数、字符串、布尔等多种类型。当然如果有必要你也可以使用 Shell declare 关键字显式定义变量的类型但在一般情况下没有这个需求Shell 开发者在编写代码时自行注意值的类型即可。 2、变量的三种定义方式 • variablevalue 直接写 • variablevalue 用单引号括起来此时内部如果有转义字符也会被当成字符直接输出 • variablevalue 用双引号括起来内部如果有转义字符会被识别为转义字符输出 例如定义几个变量其中echo可以看成是print\(符用来指示后面的字符串是变量而不是一个单独的字符串 其打印结果为 3、Shell 变量的命名 规范和大部分编程语言都一样 变量名由数字、字母、下划线组成 必须以字母或者下划线开头 不能使用 Shell 里的关键字通过 help 命令可以查看保留关键字。 4、使用变量 使用一个定义过的变量只要在变量名前面加美元符号\)即可如 变量名外面的花括号{ }是可选的加不加都行加花括号是为了帮助解释器识别变量的边界比如下面这种情况 如果不给 skill 变量加花括号写成echo I am good at \(skillWeb解释器就会把 \)skillWeb 当成一个变量其值为空代码执行结果就不是我们期望的样子了。 5、修改变量值 已定义的变量可以被重新赋值如 第二次对变量赋值时不能在变量名前加\(只有在使用变量时才能加\)。 6、单引号和双引号的区别 定义变量时变量的值可以由单引号 包围也可以由双引号 包围它们到底有什么区别呢不妨以下面的代码为例来说明 其输出结果为 以单引号 包围变量的值时单引号里面是什么就输出什么即使内容中有变量和命令命令需要反引起来也会把它们原样输出。这种方式比较适合定义显示纯字符串的情况即不希望解析变量、命令等的场景。         以双引号 包围变量的值时输出时会先解析里面的变量和命令而不是把双引号中的变量名和命令原样输出。这种方式比较适合字符串中附带有变量和命令并且想将其解析后再输出的变量定义。 7、将命令的结果赋值给变量 Shell 也支持将命令的执行结果赋值给变量常见的有以下两种方式 • variableShell 用反应号括起来 • variable\((Shell) 第一种方式把命令用反引号 位于 Esc 键的下方包围起来反引号和单引号非常相似容易产生混淆所以不推荐使用这种方式 第二种方式把命令用\)()包围起来区分更加明显所以推荐使用这种方式。 8、只读变量 使用 readonly 命令可以将变量定义为只读变量只读变量的值不能被改变。 面的例子尝试更改只读变量结果报错 其作用为先定义一个变量myurl然后使用命令readonly将更改为只读变量后面一条命令为重新为变量myurl赋值但是前面已经定义它为只读变量了所以结果报错 9、删除变量 使用unset命令删除变量其语法如下 变量被删除后不能再次使用unset 命令不能删除只读变量 例如 定义变量mrurl后使用unset删除后面再使用echo打印这个变量结果为空 10、shell传递参数 我们可以在执行 Shell 脚本时向脚本传递参数脚本内获取参数的格式为\(n。n 代表一个数字1 为执行脚本的第一个参数2 为执行脚本的第二个参数以此类推…… 以下实例我们向脚本传递三个参数并分别输出其中 \)0 为执行的文件名包含文件路径 代码文件内容为这段 使用终端直接运行文件时需在后面加上参数数据其输出结果如下 因为系统会识别第一条文件名当做第0条参数所以使用了\(0将其打印出来\)1代表第一个参数\(2代表第二个参数..... 即如果将\)0注释了得到如下结果 1、特殊字符处理参数说明 例如 执行脚本 其输出结果为 ​​​​​​​     2、\(* 与 \) 区别 相同点都是引用所有参数。 不同点只有在双引号中体现出来。 假设在脚本运行时写了三个参数 1、2、3则 * 等价于 1 2 3传递了一个参数而 等价于 1 2 3传递了三个参数。 例如 \(*相当于将所有参数以一个字符串的形式输出而\)则将所有参数以一个一个的字符串分别输出