shell----编程实例

shell----编程实例

ID:41033363

大小:138.00 KB

页数:28页

时间:2019-08-14

shell----编程实例_第1页
shell----编程实例_第2页
shell----编程实例_第3页
shell----编程实例_第4页
shell----编程实例_第5页
资源描述:

《shell----编程实例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.判断一个文件是否是可执行文件,且判断能否在PATH中找到,有三种结果(一)找到且可执行0(二)非情况一(2)没找到或者是不可执行1(3)没找到2函数in_path:判断传入文件是否可执行,若可执行(且存在)返回0,否则返回1;分析:为测试传入文件是否在PATH所有的目录中,需取得PATH中的每个路径,可用循环,但需要设定环境中的分隔符(借助环境变量IFS)为PATH中的分隔符冒号”:”注:$IFS输入分隔符.当shell读取输入数据的时候,会把一组字符看做是单词之间的分隔字符,它们通常是空格,制表符,和换行符.函数调用方式为:in_path

2、filenamein_path(){cmd=$1#$1为函数的参数1,以此类推retval=1#定义返回值变量oldIFS=$IFSIFS=:#设置新的IFS,并保存原来的以恢复使用fordirectoryin$PATH#for循环结构二:for–indoif[-xdirectory/$cmd];then#if条件语句之同行表示以分号隔开retval=0#-x判断文件有是否有可执行权限donedoneIFS=$oldIFS#恢复原来IFS,returnretval}注:1.函数的结构,没有形参2.变量的引用需要符号$,而变量的定义或赋值则不需要

3、。3.赋值要无间隙,条件要间隙改进:1.将路径、分隔符均作为函数的参数传入,应用得到扩展。补充,in_path函数不能对绝对路径的文件处理,需写个函数对这一情况单独处理checkForCmdInPath(){var=$1#首先判断传入的非空串是否为绝对路径,即检测第一个字符是不是”/”,如果是,直接测–xif[$var!=“”];then#条件等价于-n$varif[“${var%${var#?}}”=‘/’];then#等价于$(echo$var

4、cut-c1)if[!-x$var];thenreturn1#notfoundornotexec

5、utablefielif!inpath$var;thenreturn2#notfoundinPATHfifi}注:此函数让人一头雾水,详解如下:1.判断一个文件是否是可执行文件,且判断能否在PATH中找到,有三种结果(一)找到且可执行0(二)非情况一(2)没找到或者是不可执行1(3)没找到2函数in_path:判断传入文件是否可执行,若可执行(且存在)返回0,否则返回1;分析:为测试传入文件是否在PATH所有的目录中,需取得PATH中的每个路径,可用循环,但需要设定环境中的分隔符(借助环境变量IFS)为PATH中的分隔符冒号”:”注:$IFS输

6、入分隔符.当shell读取输入数据的时候,会把一组字符看做是单词之间的分隔字符,它们通常是空格,制表符,和换行符.函数调用方式为:in_pathfilenamein_path(){cmd=$1#$1为函数的参数1,以此类推retval=1#定义返回值变量oldIFS=$IFSIFS=:#设置新的IFS,并保存原来的以恢复使用fordirectoryin$PATH#for循环结构二:for–indoif[-xdirectory/$cmd];then#if条件语句之同行表示以分号隔开retval=0#-x判断文件有是否有可执行权限donedoneI

7、FS=$oldIFS#恢复原来IFS,returnretval}注:1.函数的结构,没有形参2.变量的引用需要符号$,而变量的定义或赋值则不需要。3.赋值要无间隙,条件要间隙改进:1.将路径、分隔符均作为函数的参数传入,应用得到扩展。补充,in_path函数不能对绝对路径的文件处理,需写个函数对这一情况单独处理checkForCmdInPath(){var=$1#首先判断传入的非空串是否为绝对路径,即检测第一个字符是不是”/”,如果是,直接测–xif[$var!=“”];then#条件等价于-n$varif[“${var%${var#?}}”=

8、‘/’];then#等价于$(echo$var

9、cut-c1)if[!-x$var];thenreturn1#notfoundornotexecutablefielif!inpath$var;thenreturn2#notfoundinPATHfifi}注:此函数让人一头雾水,详解如下:1.判断一个文件是否是可执行文件,且判断能否在PATH中找到,有三种结果(一)找到且可执行0(二)非情况一(2)没找到或者是不可执行1(3)没找到2函数in_path:判断传入文件是否可执行,若可执行(且存在)返回0,否则返回1;分析:为测试传入文件是否在PAT

10、H所有的目录中,需取得PATH中的每个路径,可用循环,但需要设定环境中的分隔符(借助环境变量IFS)为PATH中的分隔符冒号”:”注:$IFS输入分隔

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。