41、脚本编写与函数使用全解析

脚本编写与函数使用全解析

1. POSIX标准与zsh的shell模拟

POSIX标准规定了类Unix操作系统常见组件的行为,包括shell的特性和行为要求。若要确保脚本能在所有主流shell变体中运行,最简单的方法是仅使用POSIX规范中标准化的特性。

在zsh中,你无需费力确定模拟特定shell的理想选项集。若以其他shell的名称(如“ksh”或“sh”)安装zsh(或使用链接),它会设置选项以最佳模拟该shell。也可在zsh启动后使用 emulate 命令指定要模拟的另一个shell。不过,不要期望模拟是完美的,尤其是C shell模拟,因为zsh与C shell差异太大,难以进行像样的模拟。默认情况下,仅更改可能影响脚本和函数可移植性的选项。

提示 :给 emulate 传递 -R 选项,还会更改影响交互式环境的选项。

2. 编写更健壮的shell函数

编写shell函数时,使用依赖特定选项的特性通常很方便。但当你将函数副本给他人时,可能会发现它在对方的设置中无法工作。使用带有 -L 选项的 emulate 可以使函数更具弹性。使用 -L 选项时,函数退出后所有选项和陷阱(本章后面“陷阱和特殊函数”部分会介绍)都将恢复。因此,在函数顶部使用以下行很常见:

emulate -L zsh

若要对选项进

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值