Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure如何格式化此shell命令_Shell_Clojure - Fatal编程技术网

Clojure如何格式化此shell命令

Clojure如何格式化此shell命令,shell,clojure,Shell,Clojure,首先,我知道Clojure有sftp包装器,我正在使用一个;这是一个非常特殊的用例,不能使用这样的包装器 我想从Clojure执行以下命令(手动测试该命令在终端中工作) 但它不起作用。我假设我的语法不正确,但我使用的是重新加载的ns,所以错误不是抛出名称空间,而是不断地重新加载,这是一个痛苦的过程 我需要避免使用批处理文件,我需要内联该命令,但正如我所说的,如果手动运行该命令,它就会工作 我的语法不正确吗 更新: 在repl中,将返回: {:exit 0, :out "", :err "Conn

首先,我知道Clojure有sftp包装器,我正在使用一个;这是一个非常特殊的用例,不能使用这样的包装器

我想从Clojure执行以下命令(手动测试该命令在终端中工作)

但它不起作用。我假设我的语法不正确,但我使用的是重新加载的ns,所以错误不是抛出名称空间,而是不断地重新加载,这是一个痛苦的过程

我需要避免使用批处理文件,我需要内联该命令,但正如我所说的,如果手动运行该命令,它就会工作

我的语法不正确吗

更新:

在repl中,将返回:

{:exit 0, :out "", :err "Connected to <host>.\n"}
{:exit 0,:out“”:err“已连接到。\n”}
  • 您不必转义字符。此外,它在repl中显示以下异常: RuntimeException不支持转义字符:\'clojure.lang.Util.RuntimeException(Util.java:221) 读取字符串clojure.lang.Util.RuntimeException(Util.java:221)时的RuntimeException EOF
  • str不会自动在参数之间添加空格

    (str“username”“@”“host”““-p”是一个参数,然后密码是另一个参数。不要
    (str..)
    它们。
    (shell/sh "sshpass" (str " -p " password) "sftp" (str username "@" host "<<< $\'cd" path "\nput" file "\nbye\'")))
    
    {:exit 0, :out "", :err "Connected to <host>.\n"}