【问题标题】:BASH File MovementBASH 文件移动
【发布时间】:2011-09-14 22:06:34
【问题描述】:

我有 BASH 功能

MoveToTarget() {
    #This takes to 2 arguments: source and target
    echo ""$1"  "$2""
    cp -r "$1" "$2"
    rm -r "$1"
}

我将这些值传递给:
第一个参数:(来源)

/home/family/.PROGNAME/updater/update

第二个参数:(目标)

/home/family/Desktop/client/src

现在,文件夹 /update 正在移动到 /home/family/Desktop/client/src 创建 /home/family/Desktop/client/src/update。我怎样才能得到它,以便将/home/family/.PROGNAME/updater/update 的内容移动到/home/family/Desktop/client/src 中? (重写任何现有文件),而不仅仅是移动文件夹?

一些额外的信息,下面的 AutoIt 代码完成了我所需要的。

 DirCopy($source, $target, 1)
 DirRemove($source, 1)

【问题讨论】:

  • 你为什么不直接使用mv
  • 您没有使用mv的原因是什么?
  • 您的回声线可能没有达到您的预期。你想要echo "$1"' '"$2"echo "$1 $2";因为$1$2 中的空白被意外折叠。
  • @Sorpigal,我敢打赌 rsmith 真的想要 "\"$1\" \"$2\""

标签: linux bash file scripting


【解决方案1】:
cp -rf /home/family/.PROGNAME/updater/update/* /home/family/Desktop/client/src

或在您的脚本中:

cp -rf "$1"/* "$2"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    相关资源
    最近更新 更多