在编写 BASH 脚本时使用 scp:“没有这样的文件或目录”

问题描述

我编写了一个脚本,可以压缩一个文件夹,然后将其存储在另一个文件夹中。到目前为止,这工作得很好。但现在我想使用 scp 发送它。我想使用 eval 以便我可以轻松更改它们。但是当我使用它将文件发送到某个目的地时,它总是告诉我该目录或文件不存在。如果我在没有 $scriptd 的情况下这样做,那么它就像一个魅力。

知道为什么吗?

    #!/bin/bash
    
    # Implementation of variables
    today=$(date +"%Y-%m-%d")
    source="~/Documents"; eval source=$source
    target="~/Backups"; eval target=$target
    scriptd="~/Documents/Backups"; eval scriptd=$scriptd
    
    main(){
        backup
    }
    
    backup(){
        tar -zvcf $today.tar.gz -P $source
        rsync -zhap --progress $scriptd/$today.tar.gz $target
        rm $scriptd/$today.tar.gz
        scp $target/$today.tar.gz pi@I-Am-An-IP:$scriptd

    }
    
    main
    
    exit 0

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...