linux - 如果从 shell 脚本执行,cp 命令将不会运行

标签 linux bash shell cp

我有非常简单的 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?

谢谢

最佳答案

我们似乎怀疑这个脚本是如何失败的。如果没有错误消息,那么这是一个奇怪的消息。我建议:

  1. 在命令行(有效)上,执行 which cp
  2. 无论回复什么,然后复制它并将其用作脚本中的 cp(例如 /bin/cp)
  3. 检查 widcard 扩展,使用 bash -x script-name 运行您的脚本,看看您是否得到了预期的结果。
  4. echo $? 在脚本中的副本之后 - 如果它为零则它(认为它)有效。
  5. 从您的脚本中执行 ls -ld/var/www/ksite/app,也许有人设置了符号链接(symbolic link)?
  6. 如果仍然失败,请从命令行获取脚本并查看它是否有效 。脚本名
  7. 仔细检查副本是否真的失败了! (也许这应该是第 1 步。)

关于linux - 如果从 shell 脚本执行,cp 命令将不会运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11328775/

相关文章:

shell - 如何使用 grpc_cli 传递元数据?

linux - 从批处理中终止交互式程序

linux - 在Linux中通过Shell脚本运行命令

php - 在 linux 中通过 php 创建文本文件

linux - sed:替换标记之间的文本 block ,包括标记本身

arrays - Bash 从文件读取到关联数组

linux - 如何编写shell脚本来找出CQ5集群环境中哪个节点充当master

linux - Plesk 文件管理器错误 "The requested URL/smb/web/file-manager/dir//httpdocs was not found on this server."

arrays - Shell Array Linux 中的唯一/无重复值

linux - perl oneliner + 通过 perl oneliner 行从脚本中删除密码