
或者察数
find src_dir -name "*.h"历没局 |xargs -i cp {} dst_dir
test -e filename返回0则存在,返回1则不存在。
或者
if [ -e $filename ]
空格很关键,注意哦。
判断文件的参数如下,本人自己整理的。
-e 文件存谈宽在
-f file 是一个 regular 文件(不是目录或者设备文件)
-s 文件长度不为 0
-d 文件是个目录
-b 文件是个块设备(软盘,cdrom 等等)
-c 文件是个字符设备(键盘,modem,声卡等等)
-p 文件含桐亮是个管道
-h 文件是个符号链接
-L 文件是个符号链接
-S 文件是个 socket
-t 关联到一个终端设备的文件描述符 这个选项一般都用来检测是否在一个给定脚本中的 stdin[-t0]或[-t1]是一个终端
-r 文件具有读权轮耐限(对于用户运行这个 test)
-w 文件具有写权限(对于用户运行这个 test)
-x 文件具有执行权限(对于用户运行这个 test)
一 分析shell启动一个程序,包括以下几步:
1)从用户读入指令字符串
2)shell建立一个新进程
3)在新进程中运行指令并等待进程结束
用户如何读入指令我们就山丛链不在此探讨了,这里主要探讨如何在一个程序里启动另一个程序。
二 一个程序如何运行另一个程序
1 使用execvp函数来启动另一个程序
execvp()函数
找到指定路径的文件并执行该文件
头文件:#include<逗孙unistd.h>
函数原型:int execvp(const char *file ,char * const argv [])
参数:file可执行文件的路径+文件名
郑袜argv 参数组
返回值: 若函数执行成功则不会返回,若执行失败就直接返回-1
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)