sh脚本
当然可以!以下是一个 Shell 脚本基础指南(使用中文说明),涵盖常用语法、示例和注意事项:
1. 基础结构
#!/bin/sh
# 这是一个注释
echo "Hello World!" # 打印文本
#!/bin/sh:指定解释器(也可用#!/bin/bash)。#开头的是注释。echo:输出内容到终端。
2. 变量使用
name="小明"
age=20
echo "$name今年$age岁" # 输出:小明今年20岁
# 只读变量(不可修改)
readonly country="中国"
# 环境变量
export PATH=$PATH:/my_path
3. 输入与参数
# 从用户输入读取
echo "请输入名字:"
read input_name
echo "你好, $input_name!"
# 使用脚本参数
echo "第一个参数: $1" # $1 代表第1个参数,$2 代表第2个...
echo "所有参数: $@"
4. 条件判断
if [ $age -gt 18 ]; then
echo "已成年"
elif [ $age -eq 18 ]; then
echo "刚好成年"
else
echo "未成年"
fi
# 文件判断
if [ -f "test.txt" ]; then
echo "文件存在"
fi
常用判断符:
- 数字:
-eq(等于)、-ne(不等)、-gt(大于) - 文件:
-f(文件存在)、-d(目录存在) - 字符串:
=(相等)、!=(不等)
5. 循环
for 循环:
for i in 1 2 3; do
echo "数字: $i"
done
# 遍历文件
for file in *.txt; do
echo "处理文件: $file"
done
while 循环:
count=1
while [ $count -le 5 ]; do
echo "计数: $count"
count=$((count+1))
done
6. 函数
# 定义函数
greet() {
echo "你好, $1!"
}
# 调用函数
greet "张三" # 输出:你好, 张三!
7. 错误处理
# 遇到错误立即退出脚本
set -e
# 检查命令是否成功
if ! command -v git &> /dev/null; then
echo "错误:git 未安装!"
exit 1
fi
8. 实用示例
备份文件:
#!/bin/sh
backup_dir="/backup"
tar -czf "$backup_dir/$(date +%Y%m%d).tar.gz" /data
echo "备份完成!"
批量重命名:
# 将所有 .txt 文件改为 .md
for file in *.txt; do
mv "$file" "${file%.txt}.md"
done
注意事项
- 权限问题:运行前需添加执行权限:
chmod +x script.sh - 换行符:在 Windows 编写的脚本需转换换行符(用
dos2unix工具)。 - 调试:添加
-x参数查看执行过程:sh -x script.sh
需要进一步解释某个部分,或需要具体场景的脚本?请随时告诉我!
shell脚本编写之本地脚本的编写和执行
权限:elf@ubuntu:~/work/example/scrip_test$ sudo chmod a+x myshell.sh执行脚本的方式一般有以下4种:1)在
Shell脚本检查工具ShellCheck介绍
ShellCheck是一个用于bash/sh shell脚本的静态分析工具,可以辅助检查脚本语法错误,给出建议增强
2023-12-27 13:43:24
物料申报表:MDF_503020008_TMD37253SH245V-SMP_MD000139_2-00.pdf
MDF_503020008_TMD37253SH245V-SMP
资料下载
刘润生
2021-02-22 08:57:28
物料申报表:MDF_503020015_TMD37253SH210V_MD000140_2-00.pdf
MDF_503020015_TMD37253SH210V
资料下载
佚名
2021-02-19 09:38:32
如何使用符号执行的python实现攻击脚本分析平台
传统的静态分析方法大多不能准确处理脚本与网络交互的过程,且会引入不可达路径,动态分析则需要搭建实验环境和手工分析。针对上述问题,提出一种基于符号执行的Python攻击脚本分析平台PyExZ3+。通过
资料下载
佚名
2020-07-16 15:50:22
shell脚本编写程序
当编写Shell脚本时,你需要按照以下步骤进行: 打开一个文本编辑器,例如vi、nano或gedit。 创建一个新文件,并将其保存为以.sh为扩展名的文件, 例如script.
2023-11-08 10:12:21
有支持ubuntu16.04以上版本的请求create-sdcard.sh脚本吗
有支持ubuntu16.04以上版本的请求create-sdcard.sh脚本吗,执行一直报sfdisk: invalid option -- 'D'。网上查了下说是sfdisk版本太高的原因。sd的大小16g可以使
用systemctl执行user.sh脚本时,两个进程能启动,但无法进行DBUS通信怎么办?
开发板采用systemd启动方式,定义了一个脚本user.sh,用于启动两个应用进程;在telnet终端直接执行user.sh
使用build.sh脚本编译时出现错误该怎么办
直接使用build.sh脚本一起编译的时候出现下面的错误:百度了一下 make distclean 后再编译还是报错,有没有技术支持帮忙看一下这个问题咋解决fakeroot: preload
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- amoled屏幕和oled区别
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 苹果笔记本macbookpro18款与19款区别
- 通讯隔离作用
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机