我有非常简单的 shell 脚本
#!/bin/bash
cp -rf /var/www/ksite/app2/* /var/www/ksite/app
echo "----"
echo "done"
但似乎 cp 命令失败了
如果我执行
cp -rf /var/www/ksite/app2/* /var/www/ksite/app
从终端一切正常。谁能告诉我如何在 shell 脚本中包含 cp?
谢谢
最佳答案
我们似乎怀疑这个脚本是如何失败的。如果没有错误消息,那么这是一个奇怪的消息。我建议:
- 在命令行(有效)上,执行
which cp
- 无论回复什么,然后复制它并将其用作脚本中的
cp
(例如/bin/cp
) - 检查 widcard 扩展,使用
bash -x script-name
运行您的脚本,看看您是否得到了预期的结果。 echo $?
在脚本中的副本之后 - 如果它为零则它(认为它)有效。- 从您的脚本中执行
ls -ld/var/www/ksite/app
,也许有人设置了符号链接(symbolic link)? - 如果仍然失败,请从命令行获取脚本并查看它是否有效
。脚本名
- 仔细检查副本是否真的失败了! (也许这应该是第 1 步。)
关于linux - 如果从 shell 脚本执行,cp 命令将不会运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11328775/