没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
一些 shell 编程的例子
清除清除 下的 文件
当然要使用 身份来运行这个脚本
!"
清除一个改良的清除脚本
#$$
一个 % 脚本的正确的开头部分"
&版本
当然要使用 身份来运行"
在此处插入代码&来打印错误消息&并且在不是 身份的时候退出"
!'()*+,-
如果使用变量&当然比把代码写死的好"
.!'()*+,
!"
这个命令是一种正确并且合适的退出脚本的方法"
/"一个增强的和广义的删除 0 的脚本
#$$
清除&版本 /
1
这个脚本有好多特征&这些特征是在后边章节进行解释的&大概是进行到本书的一半的
时候&
你就会觉得它没有什么神秘的了"
!'()*+,-
,''2)3+*-4.3+* 为 4 的时候&用户才具有根用户的权限
!+5-64默认的保存行数
)7*-88不能修改目录9
)5'2,''2-8:非根用户将以 退出
当然要使用根用户来运行
;< .3+* .,''2)3+* =
>$"
.)5'2,''2
0
;< . =
测试是否有命令行参数?非空@"
-.
-.!+5默认&如果不在命令行中指定
0
A建议使用下边
B的更好方法来检测命令行参数"
B但对于这章来说还是有点超前"
)1,'5(C,(-86非数值参数?错误的参数格式@
.
@-64DD
E<#4F=E@ 3G$.4G0 D
.)1,'5(C,(DD
E@-.DD
E直到 ! 的章节才会对上边的内容进行详细的描述"
.!'()*+,
;<GG#- .!'()*+, =或者 ;< .H1* #- .!'()*+, =
不在 中9
I.!'()*+,"
.)7*
0在处理 0 之前&再确认一遍当前目录是否正确"
更有效率的做法是
JJK
LL" M
.)7*D
N
."保存 0 消息的最后部分"
"变为新的 目录"
E不再需要了&使用上边的方法更安全"
II和 II具有相同的作用
!"
4
退出之前返回 4&返回 4 表示成功"
因为你可能希望将系统 全部消灭&这个版本留下了 消息最后的部分"你将不断地找到新
的方法来完善这个脚本&并提高效率"
要注意&在每个脚本的开头都使用 # &这意味着告诉你的系统这个文件的执行需要指定一个解
释器"#实际上是一个 字节<=的魔法数字&这是指定一个文件类型的特殊标记&换句话说&在
这种情况下&指的就是一个可执行的脚本?键入 来获得关于这个迷人话题的更多详细
信息@"在#之后接着是一个路径名"这个路径名指定了一个解释脚本中命令的程序&这个程序可
以是 &程序语言或者是任意一个通用程序"这个指定的程序从头开始解释并且执行脚本中
的命令?从#行下边的一行开始@&忽略注释"<=
如
#$
#$$
#$
#$
#$;
#O;
上边每一个脚本头的行都指定了一个不同的命令解释器&如果是$&那么就是默认
?在 ! 系统中默认是 %@"</=使用#$&在大多数商业发行的 35+7 上&默认是 %
&这将让你的脚本可以正常的运行在非 ! 机器上&虽然这将会牺牲 % 一些独特的特征"
脚本将与 H'+7<P=的 标准相一致"
注意#后边给出的路径名必须是正确的&否则将会出现一个错误消息&通常是
; &这将是你运行这个脚本时所得到的唯一结果"
当然 # 也可以被忽略&不过这样你的脚本文件就只能是一些命令的集合&不能够使用 内建
的指令了&如果不能使用变量的话&当然这也就失去了脚本编程的意义了"
注意这个例子鼓励你使用模块化的方式来编写脚本&平时也要注意收集一些零碎的代码&
这些零碎的代码可能用在你将来编写的脚本中"这样你就可以通过这些代码片段来构
造一个较大的工程用例"以下边脚本作为序&来测试脚本被调用的参数是否正确"
)1,'5()C,(-86
)- A
-&-&等等"
;<..5$);))=
3G$.4G.)
G$.4G是这个脚本的文件名
.)1,'5()C,(
0
/"代码块和 +' 重定向
#$$
从 ;$ 中读行
Q-;$
K
NR.Q
Q.Q
.
.Q
.
4
现在&你怎么分析每行的分割域
暗示使用 O"
/"将一个代码块的结果保存到文件
#$$
O"
这个脚本的目的是为了描述&列表&和确定是否可以安装一个 包"
在一个文件中保存输出"
这个脚本使用一个代码块来展示
3-4
)5'C,(-86
;<A . =
3G$.4G0
.)5'C,(
0
剩余63页未读,继续阅读
资源评论
dailywmy
- 粉丝: 0
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功