即可2.对于使用相对路径执行的shell文件(如 ./xxx/binfile)pwd与dirname结合使用;pwd获得的是执行当前sh"og:type" content="webpage">即可2.对于使用相对路径执行的shell文件(如 ./xxx/binfile)pwd与dirname结合使用;pwd获得的是执行当前sh" /> 即可2.对于使用相对路径执行的shell文件(如 ./xxx/binfile)pwd与dirname结合使用;pwd获得的是执行当前sh"> linux编程怎么获得当前文件夹的文件夹名_系统运维_内存溢出

阅读 4

linux编程怎么获得当前文件夹的文件夹名,第1张

1.使用绝对路径执行的shell文件

(如/home/xxx/binfile)

直接使用dirname $0即可

2.对于使用相对路径执行的shell文件(如 ./xxx/binfile)pwd与dirname结合使用;pwd获得的是执行当前shell文件时,用户所在的位置

;dirname可以获得相对于那个位置的偏移:

例如某shell文件所在的位置是/home/user_name/work2/SNS3_server_im/Developing/trunk/im_capp/src/notify_serv/shell文件名

1 #!/bin/sh

2 pwd

3 echo `dirname $0`

执行后输出

/home/user_name/work2/SNS3_server_im/Developing/trunk/im_capp/src

./notify_serv

首先

DIR

*opendir(const

char

*filename)

struct

dirent

*readdir(DIR

*dirp)

利用这两个函数获取你目录下

while(

(psDirent=readdir(pdir))

!=

NULL

)

{

//readdir返回的是目录下的名称,然后判断一下当前这个名字是子目录还是文件

struct

stat

st

stat(

pcFileName,

&st

)

if(

S_ISDIR(st.st_mode)

)

continue;//是目录继续循环

else

filecount++;//是文件就加1

}

从循环出来后创建文件名为file(filecount+1)的文件。

这个只是简单思路。最后别忘closedir。因为你的需求里,并未涉及文件创建个数的上限以及如果删掉某个文件后的需求。


通常,如果你目录下文件个数固定似乎更好办一些。

欢迎分享,转载请注明来源:

内存溢出

原文地址:

http://outofmemory.cn/yw/8910577.html
个数
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
三季人 三季人 一级用户组
老男孩linux运维培训后多少钱一个月?
上一篇
2023-04-22
Linux信号量
2023-04-22

发表评论
请登录后评论... 登录
提交

    评论列表(0条)
保存
{label} {label} 即可2.对于使用相对路径执行的shell文件(如 .xxxbinfile)pwd与dirname结合使用;pwd获得的是执行当前sh', author : '三季人', cat_name : '系统运维', time_y_m : '2023年04月', time_d : '22', site_motto : '内存溢出' }; {script} {script}