钦州网站建设哪家便宜广东省建站公司

张小明 2026/1/11 13:53:59
钦州网站建设哪家便宜,广东省建站公司,郑州网约车资格证网上报名,wordpress移动端可视化bash语法 bash是一种Unix shell#xff0c;用于交互式命令执行和脚本编程。其语法包括变量、条件判断、循环、函数等。init.rc语法 init.rc是Android初始化语言#xff08;Android Init Language#xff09;的脚本#xff0c;用于系统启动时配置系统服务、执行命令等。它的…bash语法 bash是一种Unix shell用于交互式命令执行和脚本编程。其语法包括变量、条件判断、循环、函数等。init.rc语法 init.rc是Android初始化语言Android Init Language的脚本用于系统启动时配置系统服务、执行命令等。它的语法相对简单主要包含动作action、服务service、命令command和选项option。区别概述 用途bash用于通用脚本编程而init.rc用于Android系统初始化。语法结构bash具有复杂的编程结构如循环、条件、函数init.rc则是声明式的主要定义服务、触发器和命令。执行环境bash脚本在shell中运行init.rc由init进程解析并执行。bash语法与init.rc语法对比指南一、bash语法基础1. 变量操作#!/bin/bash# 这是bash脚本的注释# 变量定义前后不能有空格nameWorldcount10# 使用变量echoHello,$name# 输出: Hello, WorldechoCount:${count}# 输出: Count: 10# 只读变量readonlyPI3.14# PI3.1415 # 这行会报错# 删除变量不能删除只读变量unsetcountechoCount:$count# 输出: Count: (空)执行结果Hello, World Count: 10 Count:2. 条件判断#!/bin/bashnum10# if-elif-else结构if[$num-gt5];thenecho数字大于5# 输出: 数字大于5elif[$num-eq5];thenecho数字等于5elseecho数字小于5fi# 字符串比较strhelloif[$strhello];thenecho字符串匹配# 输出: 字符串匹配fi# 文件测试if[-f/etc/passwd];thenecho文件存在# 输出: 文件存在fi执行结果数字大于5 字符串匹配 文件存在3. 循环结构#!/bin/bash# for循环echofor循环示例:foriin12345doecho数字:$i# 输出1-5done# while循环echo-e\nwhile循环示例:counter1while[$counter-le3]doecho计数:$counter# 输出1-3((counter))# bash算术运算done# until循环echo-e\nuntil循环示例:num1until[$num-gt3]doecho直到:$num# 输出1-3num$((num1))done执行结果for循环示例: 数字: 1 数字: 2 数字: 3 数字: 4 数字: 5 while循环示例: 计数: 1 计数: 2 计数: 3 until循环示例: 直到: 1 直到: 2 直到: 34. 函数定义#!/bin/bash# 函数定义greet(){localname$1# 局部变量echoHello,$name!return0# 返回状态码}# 调用函数greetAlice# 输出: Hello, Alice!greetBob# 输出: Hello, Bob!# 获取返回值echo函数返回值:$?# 输出: 函数返回值: 0执行结果Hello, Alice! Hello, Bob! 函数返回值: 0二、init.rc语法基础1. 基本结构# init.rc注释以#开头 # 这是Android初始化语言 # 定义服务 service myservice /system/bin/myapp # 服务名和可执行路径 class main # 服务类 user root # 运行用户 group root # 运行组 oneshot # 只运行一次 # 触发器和动作 on boot # 当boot事件触发时 start myservice # 启动服务 mkdir /data/mydir 0775 root root # 创建目录 on property:sys.boot_completed1 # 属性条件触发 stop myservice # 停止服务2. 完整init.rc示例# 系统初始化脚本示例 # 导入其他rc文件 import /init.${ro.hardware}.rc # 设置环境变量 export PATH /sbin:/system/bin:/system/xbin # 创建设备节点 mkdir /dev/socket 0775 system system # 挂载文件系统 mount tmpfs tmpfs /mnt mode0755,uid0,gid0 # 定义系统服务 service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class main # 属于main类 socket zygote stream 660 root system # 创建socket onrestart restart media # 重启时重启media服务 writepid /dev/cpuset/foreground/tasks # 写入pid文件 # 定义普通服务 service my_daemon /system/bin/my_daemon class core # 属于core类 user system # 以system用户运行 group system # 以system组运行 disabled # 默认不启动 capabilities NET_BIND_SERVICE # 设置capabilities # 触发器定义 on early-init # 早期初始化阶段 # 设置安全上下文 setcon u:r:init:s0 # 启动ueventd start ueventd on init # 初始化阶段 # 挂载必要的文件系统 mount proc /proc proc nosuid,nodev,noexec mount sysfs /sys sysfs nosuid,nodev,noexec mount devpts /dev/pts devpts mode0620,gid5 on late-init # 后期初始化 # 触发其他事件 trigger post-fs trigger load_system_props on property:persist.sys.debug1 # 属性触发 # 设置调试模式 setprop debug.trace 1 start debug_service on post-fs-data # 文件系统数据挂载后 # 设置目录权限 chown system system /data/app chmod 0771 /data/app # 命令序列 on boot # 启动基本服务 class_start core # 启动core类所有服务 class_start main # 启动main类所有服务 # 设置系统属性 setprop sys.boot_completed 0 # 执行shell命令 exec /system/bin/logwrapper /system/bin/sh /system/etc/init.sh3. init.rc特有的命令# 常用init.rc命令示例 # 1. 服务控制命令 start servicename # 启动服务 stop servicename # 停止服务 restart servicename # 重启服务 # 2. 类控制命令 class_start classname # 启动类中所有服务 class_stop classname # 停止类中所有服务 class_reset classname # 重置类中所有服务 # 3. 属性操作 setprop name value # 设置属性 getprop name # 获取属性 # 4. 文件系统操作 mkdir path [mode] [owner] [group] # 创建目录 chown owner group path # 修改所有者 chmod mode path # 修改权限 mount type device dir [flags] # 挂载文件系统 # 5. 其他命令 write path string # 写文件 copy src dst # 复制文件 symlink target path # 创建软链接三、核心区别对比表特性bash语法init.rc语法用途通用shell脚本Android系统初始化执行环境bash解释器init进程注释#开头#开头变量定义namevaluesetprop name value条件判断if [条件]; thenon property:namevalue循环结构for,while,until不支持循环函数定义function name() { }不支持函数服务定义无内置概念service name path [args]触发机制需手动调用基于事件/属性触发并行执行需要特殊处理支持服务并行启动返回值$?获取返回值通过属性或状态码四、综合示例对比bash版本的服务管理脚本#!/bin/bash# bash服务管理脚本# 定义服务列表SERVICES(nginxmysqlredis)# 启动所有服务start_services(){echo开始启动服务...forservicein${SERVICES[]};doifsystemctl start$service;thenecho✓$service启动成功elseecho✗$service启动失败return1fidonereturn0}# 检查服务状态check_services(){echo检查服务状态:forservicein${SERVICES[]};doifsystemctl is-active --quiet$service;thenecho✓$service运行中elseecho✗$service未运行fidone}# 主逻辑case$1instart)start_services;;status)check_services;;*)echo用法:$0{start|status}exit1;;esacinit.rc版本的服务管理# init.rc服务配置 # 定义服务 service nginx /usr/sbin/nginx class main user www-data group www-data oneshot service mysql /usr/sbin/mysqld class main user mysql group mysql socket mysqld stream 660 mysql mysql service redis /usr/bin/redis-server class main user redis group redis # 启动控制 on boot class_start main on property:sys.service.stop1 class_stop main on property:sys.service.restart1 class_stop main class_start main五、学习建议学习bash重点掌握变量、条件判断、循环、函数、命令替换实践方法在Linux终端编写测试脚本调试技巧使用set -x调试echo输出中间值学习init.rc重点掌握service定义、触发器、属性系统、基本命令实践方法在Android源码环境下测试调试技巧通过logcat查看init进程日志共同点都以#开头注释都有基本的条件执行逻辑都支持执行系统命令关键差异bash是完整的编程语言init.rc是声明式配置语言bash侧重流程控制init.rc侧重服务管理和系统配置bash在用户空间运行init.rc在内核初始化阶段运行通过对比学习你可以根据实际需求选择合适的语法系统初始化用init.rc自动化脚本用bash。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

西安响应式网站开发WordPress 三图

总部位于巴黎的 Mistral AI 宣布推出其最新一代 ​开源权重模型家族​,包括 Mistral Large 3 以及另外三款小型、稠密模型。所有模型均采用 Apache​ 2.0 许可证 发布,这意味着它们可以​自由用于商业用途、自行托管以及微调​。 Mistral 可以说是欧洲“…

张小明 2025/12/21 22:06:03 网站建设

视频网站用php做长沙网站制作的

第一章:量子开发环境概述 量子计算作为前沿计算范式,正逐步从理论走向工程实践。构建一个高效的量子开发环境是开展算法设计、电路仿真和硬件对接的基础。当前主流的量子软件开发工具链已支持在经典计算机上模拟量子行为,并能将程序编译至真实…

张小明 2026/1/2 20:01:17 网站建设

做网站的都是什么专业毕业的wordpress安装主题提示错误

Plotly Dash — 一个适用于多页面仪表盘的结构化框架 多页面仪表盘的精确输出(暗色模式)显示了项目结构的特性 – 图片由作者提供 – 数据来自 GAPMINDER.ORG,CC-BY 许可证 Plotly Dash 是一个广受认可和使用的框架,可用于创建交…

张小明 2025/12/21 22:01:43 网站建设

综合网站设计建设银行兴安支行网站

Bruno终极指南:5个技巧让你快速掌握这款免费API测试神器 【免费下载链接】bruno 开源的API探索与测试集成开发环境(作为Postman/Insomnia的轻量级替代方案) 项目地址: https://gitcode.com/GitHub_Trending/br/bruno 还在为Postman的臃…

张小明 2025/12/21 21:55:23 网站建设

河间申梦网站建设制作经验丰富的网站制作公司

FaceFusion镜像支持自动伸缩集群,节省GPU成本在AI应用日益普及的今天,图像生成与人脸融合技术正从实验室走向大规模商用。以FaceFusion为代表的开源项目,凭借其高精度的人脸对齐和自然的换脸效果,被广泛应用于短视频、虚拟形象、智…

张小明 2025/12/21 21:53:18 网站建设

优化网站收费标准泗阳做网站公司

四步精通BGE-Large-zh-v1.5:从零部署到性能调优全攻略 【免费下载链接】bge-large-zh-v1.5 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/bge-large-zh-v1.5 BGE-Large-zh-v1.5是由北京智源人工智能研究院开发的中文文本嵌入模型,具…

张小明 2025/12/21 21:51:15 网站建设