【Shell】shell编程规范与变量

目录

一、shell脚本概述

1.Shell脚本的概念

2.Shel脚本应用场景

二、shell的作用

1.用户的登录Shell

2.Linux中的Shell

三、编写和执行shell程序

1.Shell脚本的构成

2.Shell脚本的运行

3.编程语言类型

四、重定向和管道操作

1.管道操作

2.重定向

五、shell脚本变量

1.变量的作用和类型

1)变量的作用

2)变量的类型

2.自定义变量

3.设置变量的作用范围

4.运算

1)整数运算

2)浮点数运算

5.特殊变量

1)环境变量

2)只读变量

3)位置变量 

4)预定义变量

总结


一、shell脚本概述

1.Shell脚本的概念

Shell(壳程序)是一个特殊的应用程序,它介于操作系统内核与用户之间,充当了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。

2.Shel脚本应用场景

重复性操作
交互性任务
批量事务处理
服务运行状态监控
定时任务执行

······

二、shell的作用

1.用户的登录Shell

登录后默认使用的Shell程序,一般为 /bin/bash

不同Shell的内部指令、运行环境等会有所区别

查看操作系统默认支持的shell程序:cat /etc/shells

[root@bogon ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh
[root@bogon ~]#

2.Linux中的Shell

最常用的就是bash、tcsh、csh、sh、nologin这些shell。这些shell都是依据Linux发展者的不同所创造出的不同版本。

sh:UNIX最初使用的 shell,已经被bash所替换。
bash:基准于GNU的框架下发展出的Shell,是 sh 的扩展。
csh:语法有点类似于c语言的Shell。
tcsh:整合了csh,提供更多的功能。
nologin:奇怪的shell,这个shell可以让用户无法登录主机。

注:bash(/bin/bash)是目前大多数 Linux 版本采用的默认 Shell。

三、编写和执行shell程序

1.Shell脚本的构成

脚本申明(解释器):若第一行为“#!/bin/bash”,表示此行以下的代码语句是通过/bin/bash程序来解释执行,#!/bin/bash为默认解释器。还有其它类型的解释器,比如#!/usr/bin/python、#!/usr/bin/expect。

注释信息:以“#”开头的语句表示为注释信息,被注释的语句在运行脚本时不会被执行。

可执行语句:比如echo命令,用于输出" "之间的字符串

vim /root/first.sh
#!/bin/bash
# This is my first Shell-Script.
cd /boot
echo "当前的目录位于:"
pwd
echo "其中以 vml 开头的文件包括:"
ls -lh vml*

2.Shell脚本的运行

方法一:指定路径的命令,要求文件必须有 x 权限。

chmod +x /root/first.sh
指定绝对路径:/root/first.sh 
指定相对路径:./first.sh

方法二:指定Shell来解释脚本,不要求文件必须有 x 权限。

sh 脚本路径:sh first.sh
source 脚本路径:. first.sh 或者 source first.sh

3.编程语言类型

编译型 :C C++ JAVA GO  代码文件需要先编译后,程序才能执行
解释型 :SHELL  PYTHON  代码是边解释边运行

四、重定向和管道操作

1.管道操作

管道操作  |
将管道符号“|”左侧的命令输出的结果,作为右侧命令的输入(处理对象),同一行命令中可以使用多个管道。

ps aux | wc -l
echo "abc123" | passwd --stdin zhangsan

[root@bogon opt]# ls /opt
1.txt  first.sh  rh
[root@bogon opt]# ls /opt/ | rm -rf    #rm -rf 需要指定对象,这里删除不了
[root@bogon opt]# ls
1.txt  first.sh  rh
[root@bogon opt]# ls /opt/ | xargs rm -rf    #删除成功
[root@bogon opt]# ls
[root@bogon opt]#
### Altium Designer 反向标注原理图方法 在Altium Designer中,反向标注(Back Annotation)是从PCB布局文件更新到原理图的过程。这一过程确保了任何在PCB编辑器中的更改能够反映回至原理图文档中。 #### 准备工作 为了成功执行反向标注,在开始之前需确认几个前提条件: - 原理图和PCB项目已保存并编译无误。 - PCB与原理图之间的网络表保持一致[^2]。 #### 执行反向标注的具体步骤 1. **打开PCB文件** 在Altium Designer环境中加载待处理的PCB文件。 2. **生成工程变更命令 (ECO) 文件** 使用菜单栏`Tools -> ECO From Board To Schematics...`来启动从PCB到原理图的同步对话框。此功能会自动检测PCB上相对于原始原理图的变化,并创建相应的工程变更订单(ECO)[^1]。 3. **审查并应用变更** 审查由工具自动生成的一系列建议修改项,括但不限于组件位置调整、属性变化等。对于每一个提议的操作,可以查看其影响范围以及预览效果。一旦满意,则点击“Execute”按钮实施这些改动。 4. **验证结果** 修改完成后重新编译整个工程项目以确保一切正常运作;同时也可以通过对比前后版本间的差异进一步检验是否达到预期目标。 ```python # Python伪代码展示自动化脚本思路 def back_annotation(): pcb_file = load_pcb_document() eco_list = generate_eco_from_board_to_schematic(pcb_file) review_and_execute_changes(eco_list) verify_project_integrity() back_annotation() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值