第十章学习笔记

一、学习笔记(sh编程)

  • sh脚本

sh脚本 (Bourne 1982;Forouzan和Gilberg 2003)是一个包含 sh语句的文本文件,命 令解释程序 sh要执行该语句。sh脚本的第一行通常以#!组合开始,通 常称为shebang。 当主sh见到shebang时,会读取脚本所针对的程序名并调用该程序。 sh 有 许多不同的版本,例如Linux 的 bash、BSD Unix的csh和IBM  AIX的ksh等。所有sh程 序基本上都执行相同的任务,但它们的脚本在语法上略有不同。

  • sh脚本与C程序

首先,sh是一个解释程序,逐行读取sh脚本文件并直接执行这些行。如果行是可执行 命令且为内置命令,那么sh 可直接执行。否则,它会复刻一个子进程来执行命令,并等待子进程终止后再继续,这与它执行单个命令行完全一样。相反,C 程序必须先编译链接到一 个二进制可执行文件,然后通过主sh 的子进程运行二进制可执行文件。其次,在C 程序中,每个变量必须有一个类型,例如 char、int、float、派生类型(如 struct)等。相反,在sh 脚 本中,每个变量都是字符串。因此不需要类型,因为只有一种类型,即字符串。最后,每个  C 程序必须有一个main()函数,每个函数必须定义一个返回值类型和参数(如有)。相反, sh脚本不需要main 函数。在sh 脚本中,第一个可执行语句是程序的入口点。

  • 命令行参数

可使用与运行sh 命令完全相同的参数调用 sh脚本

  • sh变量

除了内置变量外,用户还可使用任何符号作为 sh变量。不需要声明。所有的sh变量值都是字符串。未赋值的sh变量是 NULL 字符串。

  • sh命令

● .file:  读取并执行文件。

· break [n]: 从最近的第n 个嵌套循环中退出。

· cd [dirname]: 更换目录。

· continue [n]: 重启最近的第n 个嵌套循环。

· eval[arg…]: 计算一次参数并让sh执行生成的命令。

  • ·exec[arg….]: 通过这个sh执行命令, sh将会退出。

· exit[n]: 使sh退出,退出状态为n。

· export[var...]: 将变量导出到随后执行的命令。

· read [var…]: 从 stdin 中读取一行并为变量赋值。

· set [arg…]: 在执行环境中设置变量。

· shift; 将位置参数$2$3..重命名为$1$2.…。

·trap[arg][n]: 接收到信号n 后执行参数。

· umask [ddd]: 将掩码设置为八进制数 ddd 的。

· wait [pid]: 等待进程 pid,如果没有给出pid, 则等待所有活动子进程。

read 命令:当sh执行read命令时,它会等待来自stdin的输入行。它将输入行划分为 几个标记,分配给列出的变量。

sh可以执行所有的Linux命令。

  • sh控制语句

if-else-fi语句;

for语句;

while 语句;

until-do 语句;

case 语句;

continue 和 break 语句;

  • sh函数

 

 下

  • sh中的通配符

星号通配符: sh 中最有用的通配符是*,可扩展到当前目录中的所有文件。

 sh表达:

 

 

 

posted @   sjbdjb  阅读(6)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示