使用ssh创建脚本以移动和重命名文件

时间:2015-01-28 03:48:07

标签: ssh awk terminal

我对ssh,终端编程非常陌生,我有一个问题要问。

已创建测试平台脚本以允许该过程:

  1. 将单个文件从.js移动到.js.org,进程在整个目录中完成

  2. 将特定文件“A.js”从另一个文件复制到整个父目录中的现有文件

  3. 因此,此测试平台脚本的目的是允许进程在用户决定上传新文件时运行:例如,图像文件到服务器,它将始终调用此脚本来执行点中提到的更改1和2。

    然而,我只是设法提出以下代码,从那时起我就陷入了困境。此外,当我尝试运行它时,始终会提示以下错误行。

      

    awk:9:意外字符'。'

    有任何帮助吗?非常感谢。

    我已附上以下代码供您阅读:

    代码:

    #! /bin/bash
    # set search path
    dirpath = "."
    
    find $dirpath -type f  | awk 'BEGIN{pattern="\.js"} $0 ~ pattern {
        printf "Checking => %s\n",$0
    
        if ( $0 ~ /pano2vr_player\.js$/)  {
                printf "Detect and Move Command => mv %s %s .org\n",$0, $0
                printf "Executing\n"
    
                system(mv $0.  $0.org)
                system(cp property107/360/4/pano2vr_player.js $dir)
    
        }
    }'
    

1 个答案:

答案 0 :(得分:0)

忘记在系统内(""),应该包含在""这样它就会将它视为一个字符串,并防止字符串在执行cmd时中断。

#! /bin/bash
# set search path
dirpath = "."
srcpath = "/var/www/html/spacetobe/js"

find $dirpath -type f  | awk 'BEGIN{pattern="\.js"} $0 ~ pattern {
    printf "Checking => %s\n",$0

    if ( $0 ~ /pano2vr_player\.js$/)  {
            printf "Detect and Move Command => mv %s %s.org\n",$0, $0
            printf "Executing\n"

            system("mv " $0 " "  $0 ".org")
            printf "cp Command => cp %s/pano2vr_player.js  %s\n","/var/www/html/spacetobe/js", $dirpath
            system("cp -f /var/www/html/spacetobe/js/pano2vr_player.js "  $dirpath)

    }

}'