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

兼职做诚信网站认证那个公司可以做网站

兼职做诚信网站认证,那个公司可以做网站,重庆网站seo技术,百度搜索app下载引言最近开始系统学习Linux Shell编程部分,关于Linux基础指令的博客更新就先告一段落了,这一块的更新已经结束,下面会继续跟新Linux系统的另一个模块——Shell编程模块,为了巩固自己的学习成果,同时也为了之后可以更方…

引言

最近开始系统学习Linux Shell编程部分,关于Linux基础指令的博客更新就先告一段落了,这一块的更新已经结束,下面会继续跟新Linux系统的另一个模块——Shell编程模块,为了巩固自己的学习成果,同时也为了之后可以更方便快速的回顾知识,特此整理了这一块的知识。

作为Linux学习的第12篇,本篇主要总结了Shell编程的基本概念,基本语法注意事项以及Shell编程的变量介绍部分。如有不对的地方,还请大佬指正!!

1. Shell编程基础:什么是Shell编程与基本语法

1.1 Shell的定义

在 Linux 系统中,Shell 是用户与系统内核之间交互的桥梁,用于接受用户所给出的指令,并将其解释为内核能够理解的指令,最终完成相关的操作并返回结果给用户,平时所使用的 ls、cd等指令,也都是通过 Shell 来执行的。

Shell 编程,则是将一系列的 Shell 指令按照一定的语法规则组织到一个文件中,形成可执行性的脚本文件(其拓展名一般都以 .sh 结尾)。通过运行这个脚本文件,系统会按顺序执行其中的命令,从而实现自动化的任务处理。

1.2 为什么学习Shell编程

通过专栏之前的文章学习,已经掌握了基本的 Linux 系统的指令语法,那么将指令统一编写到一个文件中,就可以实现更多重复性的工作,比如日志分析、文件备份、系统监控等,完成自动化任务,提高工作效率。

如果要成为一名运维工程师,Shell编程是必备技能,能够快速完成服务器配置、故障排除等工作,高效完成系统管理任务。

1.3 Shell的基本语法规则

1.3.1 脚本创建

使用任意文本编辑器(如vim、touch)创建一个.sh文件。

脚本文件的第一行通常需要指定的解释器,格式为

#!/bin/bash.....代码逻辑.....

其中,#!被称为 "幻数",它告诉系统这个脚本需要使用/bin/bash来解释执行。bash是最常用的 Shell 解释器,除此之外还有sh、zsh等。 

1.3.2 注意事项
# 方式1:解释器直接执行
bash script.sh# 方式2:赋予权限后执行
chmod +x script.sh
./script.sh

大小写敏感:Shell 脚本是大小写敏感的,echo和Echo是不同的命令。

空格的使用:在变量赋值时,等号两边不能有空格,例如name="Tom"是正确的,name = "Tom"则会报错。

路径问题:执行脚本或在脚本中引用其他文件时,尽量使用绝对路径,避免因工作目录变化导致的错误。

特殊字符转义:当命令或字符串中包含$、"、'等特殊字符时,需要使用\进行转义,否则可能会被 Shell 误解。

1.3.3 Shell文件的执行

Shell文件的执行有两种方法。一种是通过bash解释器直接运行脚本内容,这种方法就不需要权限控制,而另一种是通过指明文件的目录地址运行脚本内容,这种方式会有权限控制,有对该脚本运行权限的用户才能运行该脚本。

# 方式1:解释器直接执行
bash script.sh# 方式2:赋予权限后执行
chmod +x script.sh
./script.sh

2. Shell变量深度解析

2.1 变量的定义与使用

在Shell编程中,变量定义的基本格式为 变量名=值,注意!!等号左右不能有空格。

name="Alice"
age=25

使用某个变量时,就必须在变量名前加上一个$美元符号。

echo $name  
# 输出变量name的值Aliceecho "My name is $name, and I am $age years old." 
# 在字符串中引用变量,结果为My name is Alice, and I am 25 years old.

 也可以使用${变量名}的形式,在变量名与其他字符相连时,这种方式可以避免歧义,例如:

fruit="apple"
echo "I like ${fruit}s."  # 输出"I like apples."

 2.2 变量的删除

使用unset命令可以删除变量,例如:

name="Bob"
echo $name  # 输出Bob
unset name
echo $name  # 变量被删除,无输出

2.3 变量的分类

2.3.1 脚本本地变量

本地变量是在当前 Shell 会话或脚本中定义的变量,仅在当前作用域内有效,但是在除当前的脚本外的脚本文件,就不起作用了。

可以看到在一个脚本中定义的变量,在另一个脚本中不起作用。

2.3.2 环境变量

环境变量是全局变量,不仅在当前 Shell 会话中有效,在其派生的子 Shell 中也能被访问。常用的环境变量有PATH(命令搜索路径)、HOME(用户主目录)、USER(当前用户名)等。

可以使用export命令将本地变量转换为环境变量。

查看环境变量可以使用echo命令,例如echo $PATH;查看所有环境变量可以使用env命令或者set命令。

2.3.3 位置参数变量 

位置参数变量用于接收传递给脚本或函数的参数,之前介绍过 Linux 系统所能执行的指令 ls、cd等其实都是一个Shell,所使用的 ls -选项,这里对应的选项就是所谓的参数,也就是位置参数变量。

主要包括:

  • $n:n为数字,$1表示第一个参数,$2表示第二个参数,以此类推,$0表示脚本本身的名称。
  • $#:表示参数的个数。
  • $*:表示所有参数的集合,将所有参数视为一个整体。
  • $@:表示所有参数的集合,将每个参数视为独立的个体。
#!/bin/bash
# 执行:./test.sh A B C
echo "脚本名: $0"     # 输出 ./test.sh
echo "第一个参数: $1" # A
echo "参数个数: $#"   # 3
echo "所有参数: $@"   # A B C
echo "所有参数: $*"   # A B C
 2.3.4 只读变量

使用readonly命令可以定义只读变量,只读变量定义后不能被重新赋值或删除,例如:

readonly pi=3.14159
echo $pi  # 输出3.14159
pi=3.14  # 尝试重新赋值,会报错
unset pi  # 尝试删除,会报错
2.3.5 预定义变量

预定义变量又称特殊变量,是由Shell 自动维护,用于存储一些特定的信息,也是Shell设计者事先已经定义好的变量,可以直接在Shell脚本中使用。

常用的有:

  • $?:上一条命令的退出状态码。0 表示命令执行成功,非 0 表示执行失败。
  • $$:当前 Shell 进程的 PID(进程 ID)。
  • $!:上一个后台运行命令的 PID。
echo "上一条命令的退出状态码:$?"  # 输出非0值为失败echo "当前进程PID:$$"echo "后台进程PID:$!"

2.4 变量的引号原则

  • 字符串用双引号 → "$var"(允许变量扩展)

  • 纯字符用单引号 → '$var'(原样输出)

 

可以看到变量在不同的引号是不一样的,当我们使用单引号时,只会原样输出,而双引号则会解析内容。

结语

本文总结了 Shell 编程的入门知识,包括 Shell 编程的概念、基本语法与注意事项,以及变量部分的核心内容,涵盖了变量的定义、使用、分类和基本操作。希望这篇博客能对正在学习 Shell 编程的同学有所帮助,如有错误或不足之处,欢迎在评论区留言指正。

http://www.dtcms.com/a/416095.html

相关文章:

  • 百度为什么不收录网站的某个版块免费网页搭建
  • leetcode 438 找到字符串中所有的字母异位词
  • 田园综合体建设网站seo技术
  • 动态ip可以做网站吗南宁网络广播电视台
  • 东莞企业网站制作出售网站优化费用怎么做会计分录
  • 网络安全基础--第五课:跨站脚本攻击XSS
  • seo网站外链工具水果套餐网站
  • 全国各省市绿色金融指数及原始数据(1990-2022年)
  • 移动网站开发基础知识网址建设
  • 如何备份网站的网站可视区最多可以做多大
  • 网站漏洞扫描服务设计素材库
  • AI伦理规范如何影响AI的商业模式?
  • 百度字体如何转换wordpressseo 推广怎么做
  • 鑫三科技网站设计wordpress在线阅读pdf
  • 重庆北京网站建设版面设计软件
  • 企业做网站应该注意的问题广东建设厅的工程造价网站
  • Windows配置JDK8(附各版本JDK下载链接)
  • 办公网新闻上传网站开发wordpress创意博客
  • 网站建设学习视频wordpress 网页飘窗
  • AI觉醒:小白的大模型冒险记 第9章:GPT大师的工坊 - 语言模型的训练秘密
  • 优酷网站模板下载加强机关网站建设
  • 链家网信息爬虫实践:从网页抓取到数据存储
  • 网站开发销售话术网站模板html5
  • 网站制作哪些公司好全国企业信用信息公示系统查询入口
  • 网站空间什么意思企业网站建设需要做些什么
  • 深度学习-图像分类
  • 深圳宝安美容医院网站建设做网站 贴吧
  • 手机网站 后台wordpress教程网视频
  • 大型门户网站建设特点厦门企业网站制作
  • 网站的js效果代码那些网站做的非常好看的