2

当尝试将用户私钥传递给 grunt-ssh 时,我希望每个开发人员都能够在 Gruntfile 中加载的 Gruntsetting.json 中设置他们的服务器密钥,如下所示:

    settings: grunt.file.readJSON('Gruntsettings.json'),

    sshexec: {
        test: {
            command: 'uptime',
            options: {
                privateKey: grunt.file.read('<%- settings.keyPath %>'),
                host: '<%= settings.host %>',
                username: '<%= settings.username %>'
            }
        },
    }

但是,当我在 grunt.file.read 语句中使用 keyPath 设置时,出现错误:

Error: Unable to read "<%- settings.keyPath %>" file (Error code: ENOENT).

是否可以将读取的 json 文件中的变量传递回另一个读取命令?

4

1 回答 1

4

展开privateKey模板以包含文件读取方法调用:

settings: grunt.file.readJSON('Gruntsettings.json'),

sshexec: {
    test: {
        command: 'uptime',
        options: {
            privateKey: '<%= grunt.file.read(settings.keyPath) %>',
            host: '<%= settings.host %>',
            username: '<%= settings.username %>'
        }
    },
}
于 2014-04-15T11:52:54.503 回答