需要帮助改善脚本

丹基·南奇

我有一组文件夹(L1N-L5N),我要将其中的文件夹从/ home / michael / documents / XXX复制到我的Dropbox文件夹中。目前,我使用了以下脚本:

#!/bin/sh
cp -ra /home/michael/Documents/GeneralNetwork /GNI /home/michael/Dropbox/NetworkData
cp -ra /home/michael/Documents/GeneralNetwork /L1N /home/michael/Dropbox/NetworkData
cp -ra /home/michael/Documents/GeneralNetwork /L2N /home/michael/Dropbox/NetworkData
cp -ra /home/michael/Documents/GeneralNetwork /L3N /home/michael/Dropbox/NetworkData
cp -ra /home/michael/Documents/GeneralNetwork /L4N /home/michael/Dropbox/NetworkData
cp -ra /home/michael/Documents/GeneralNetwork /L5N /home/michael/Dropbox/NetworkData

这行得通,但是效果很差。

我也不确定它为什么返回这个原因:

cp: cannot stat ‘/GNI’: No such file or directory
cp: cannot stat ‘/L1N’: No such file or directory
cp: cannot stat ‘/L2N’: No such file or directory
cp: cannot stat ‘/L3N’: No such file or directory
cp: cannot stat ‘/L4N’: No such file or directory
cp: cannot stat ‘/L5N’: No such file or directory

我曾想过将其缩短:

cp -ra /home/michael/Documents/GeneralNetwork/L*

或其他通配符来提取所有包含“ L”的文件夹。我想要的是将文件复制(并覆盖)到此目录中的文件夹,但是我不确定它们是否属于上述文件夹名称方案。

创建.sh文件以从... / GeneralNetwork / *复制Everythig而不复制隐藏文件等的最佳方法是什么?我已经完成了../GeneralNetwork/。它包括启动,bin,sys等。

刀刃19899

cp:无法统计“ / GNI”:没有这样的文件或目录

那是因为空白:

cp 读取如下:

cp -ra /home/michael/Documents/GeneralNetwork /GNI

该文件夹:/home/michael/Documents/GeneralNetwork需要复制到/GNI但是中没有文件夹/GNI,因此会出现错误。


如果文件之间有空格,请将其放在引号之间:

"/home/michael/Documents/GeneralNetwork /GNI"

cp 正在看到:

/home/michael/Documents/GeneralNetwork

加上引号,它将超出空白:

cp -ra "/home/michael/Documents/GeneralNetwork /GNI" /home/michael/Dropbox/NetworkData

根据用户要求

如果我正确理解您的意思,您想复制 /home/michael/Documents/GeneralNetwork

以及其中的所有内容。是的,这是可能的,就像这样:

cp -ra "/home/michael/Documents/GeneralNetwork /*.*" /home/michael/Dropbox/NetworkData

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章