bash:更改文件夹中所有头文件的扩展名

bash:更改文件夹中所有头文件的扩展名,bash,recursion,symlink,bash4,Bash,Recursion,Symlink,Bash4,我想创建指向文件夹中所有头文件的符号链接 比如说, ln -s ctype.h ctype.SUNWCCh 符号链接的名称应该相同,只是它们具有“SUNWCCh”扩展名。另外,有许多头文件,所以我想递归地执行它。有什么建议吗 提前谢谢 尝试使用纯: 由于bash4,**表示递归,如果您使用shopt-s globstar启用它,谢谢!它起作用了。你介意解释一下你做了什么吗?shopt-s globstar的作用是什么?如果我想在另一个文件夹中执行此操作,我是否要放置*//test/.h或其他什

我想创建指向文件夹中所有头文件的符号链接

比如说,

ln -s ctype.h ctype.SUNWCCh
符号链接的名称应该相同,只是它们具有“SUNWCCh”扩展名。另外,有许多头文件,所以我想递归地执行它。有什么建议吗

提前谢谢

尝试使用纯:


由于bash4,
**
表示递归,如果您使用
shopt-s globstar

启用它,谢谢!它起作用了。你介意解释一下你做了什么吗?
shopt-s globstar
的作用是什么?如果我想在另一个文件夹中执行此操作,我是否要放置*//test/.h或其他什么?实际上我想删除“.h”。这可能吗?增加了新的要求和更好的解释非常感谢,@sputnick!
shopt -s globstar

for i in **/*.h; do
    ln -s "$i" "${i%.h}.SUNWCCh"
done