需要帮助改进脚本
我有一组文件夹(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/。 它包括boot,bin,sys等。
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