mycd命令
来源:互联网 发布:linux display 详解 编辑:程序博客网 时间:2024/06/14 14:51
今天写了自己的ls命令,完了以后突发奇想,想写一个自己的cd命令,查了以下还真的有函数来实现修改当前的工作目录,chdir函数。下面根据man手册给出这个函数的详细解释信息。
函数描述:改变工作路径
函数头文件和定义:#include <unistd.h>
int chdir(const char * path)
函数参数描述:path表示要改变的路径。
返回值描述:成功返回0,失败返回-1;
下面贴出我的代码:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>char * cd_get_path(int argc,char** argv,char *path){ path = (char *)malloc(100); if(argc ==1) { strcpy(path,"/home/shiwen/"); } else { strcpy(path,argv[1]); }}int main(int argc,char ** argv){ char *path; int result; path = (char *)malloc(100); path = cd_get_path(argc,argv,path); result = chdir(path); if(result == -1) { printf("change dir error\n"); return -1; }}
运行完了以后发现,当前工作路径也没改变程序也没报错。查了资料发现了,chdir只能改变调用该函数的工作路径,并不能改变别的进程的工作路径,所以我们常用的cd命令是一个内置命令。
0 0
- mycd命令
- mycd,记录使用过的目录,便于跳转
- 命令
- 命令
- 命令
- 命令
- 命令
- 命令
- 命令
- 命令
- 命令
- 命令
- 命令
- 命令
- 命令
- 命令
- 命令
- 命令
- 依赖服务或组无法启动。 异常来自 HRESULT:0x8007042C
- Linux 下的ODBC配置 for mysql
- 51nod1040
- SVN知识点
- C++函数的默认值问题
- mycd命令
- 3.Objective-C 类
- 写给新手,从不懂到入门,一只老鸟的嵌入式入门心得
- EJB到底是什么,真的那么神秘吗??
- ZOJ.1526 Big Number【对数】 2015/09/22
- leetcode OJ6 ZigZag Conversion 小结
- HDU2503:a/b + c/d
- 第4周—项目3.(2)连接
- 软件工程学习日记(1)----生命周期及几种开发模型