无法从shell脚本中的目录复制文件

无法从shell脚本中的目录复制文件,shell,terminal,Shell,Terminal,我第一次在MacOSX上写一个shell脚本,我有点卡住了。我正在创建一个网站,想要一种简单的方法来管理将我的文件从git repo更新到localhost服务器。这也是学习shell脚本的一个借口。以下是我目前掌握的情况: #!/bin/bash echo "Removing old Files..." rm -r /Library/WebServer/Documents/ServerObserver/* echo "Copying new Files to WebServer" cp -r

我第一次在MacOSX上写一个shell脚本,我有点卡住了。我正在创建一个网站,想要一种简单的方法来管理将我的文件从git repo更新到localhost服务器。这也是学习shell脚本的一个借口。以下是我目前掌握的情况:

#!/bin/bash
echo "Removing old Files..."
rm -r  /Library/WebServer/Documents/ServerObserver/*
echo "Copying new Files to WebServer"
cp -r /Users/ajay/Documents/ServerObserverRepo/* /WebServer/Documents/ServerObserver/
echo "Done!"
移除部件可以正常工作,但复制不起作用。我在终端中收到以下消息:

usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
当然,它也没有复制。任何帮助都将不胜感激

谢谢

~ru毯嘶嘶作响

改变

cp -r /Users/ajay/Documents/ServerObserverRepo/* /WebServer/Documents/ServerObserver/


你应该考虑RSyc,如

rsync --delete -a /Users/ajay/Documents/ServerObserverRepo/ /WebServer/Documents/ServerObserver/

这样就不需要rm命令和cp命令,只复制更改的文件/删除删除的文件。:)

这给了你一个暗示,不是吗?使用
-R
而不是
-R
。谢谢,但是更改为
-R
会产生相同的结果。谢谢,请您解释一下最后的
会有什么不同?。只要指定了目标路径的末尾,这意味着在复制一堆文件时的确切位置,如果您编写了cp-r/Users/ajay/Documents/ServerObserver repo/then/WebServer/Documents/ServerObserver/就足够了
rsync --delete -a /Users/ajay/Documents/ServerObserverRepo/ /WebServer/Documents/ServerObserver/