使用Fabric重命名远程服务器上的目录

时间:2012-11-11 12:20:03

标签: linux bash shell command-line

我在renamig目录中遇到以下问题,使用:

$> mv /homex/p4blo/testWebDir/app1 /homex/p4blo/testWebDir/app1_backup

我想在同一路径中将app1目录重命名为app1_backup(只需重命名)。如果没有app1_backup文件夹就可以了,但是如果有的话,app1会登陆app1_backup / app1。

我应该如何处理这个问题。如果在开头有app1_backup目录,它应该被删除并替换为新的app1_backup文件夹(从app1重命名的文件夹)。

1 个答案:

答案 0 :(得分:0)

默认情况下,传递给fabric.run的命令是通过shell进程(例如/bin/bash -l -c "<command>")执行的。随意使用任何类型的shell脚本:

run(''' srcdir=/homex/p4blo/testWebDir/app1
        [[ -e ${srcdir}_backup ]] && rm -rfv ${srcdir}_backup 
        [[ -e ${srcdir} ]] && mv -v ${srcdir} ${srcdir}_backup ''')