ln命令小陷阱

时间:2021-11-14 04:25:35

一个文件夹下面的文件结构是

-dir1

-assetsdir

-subdir1

-subdir2

这个时候如果我想在subdir1和subdir2下面分别创建assetsdir的链接文件夹的话,应该怎么写shell呢?

最开始我写:

ln dir1/assetsdir    dir1/sub*/

我觉得sub*是通配符,系统可以自己识别。

但是执行的结果不对,这个命令相当于

ln dir1/assetsdir    dir1/subdir1/   dir1/subdir2

最后的结果是,subdir2下面有两个文件夹链接,分别是assetsdir和subdir1

那么,如何能达到我要的结果呢?用shell中的循环

for file in dir1/sub*
do
sudo ln -sv dir1/assets $file"/"
done

搞定收工。