了解shell脚本中的cp

时间:2013-03-15 04:06:00

标签: bash shell sh

 cp ${skeleton_dir}/*.cfg ${skeleton_dir}/*.org ./

我不明白这意味着什么,但我根据程序行为猜测。它将.cfg文件复制到当前目录,但*.org ./做了什么?

我想修改此行以复制* .spop文件。这种变化会起作用吗? (由于我的机器上的周转时间是一天,很难轻易验证这一点)

 cp ${skeleton_dir}/*.cfg ${skeleton_dir}/*.org ./
 cp ${skeleton_dir}/*.spop ${skeleton_dir}/*.org ./

很抱歉这些愚蠢的问题,但我对此并不了解,而且很难谷歌“./”。

将来,我如何搜索cp命令使用的不同变体(这个“./”)。我现在知道“男人xxx”了,我读了“man cp”,但没有关于“./"

1 个答案:

答案 0 :(得分:1)

如果您阅读cp的手册页,您将看到可以指定多个源复制到目标目录。 ./是当前目录。这样做的目的是将.cfg中的所有.org${skeleton_dir}文件复制到当前目录中。只需添加*.spop

即可
cp ${skeleton_dir}/*.cfg ${skeleton_dir}/*.org ${skeleton_dir}/*.spop ./

你也可以使用大括号扩展:

cp ${skeleton_dir}/*.{cfg,org,spop} ./