Unix Julia运行/管道命令转换

Unix Julia运行/管道命令转换,unix,command,line,julia,Unix,Command,Line,Julia,我在使用run/pipeline命令时遇到了一些问题,我不确定我到底出了什么问题。我的目标是附加到日志并重定向STDERR,以便在日志中显示错误。与我要运行的命令行(在终端上运行时工作)等效的命令行如下所示: /home/me/juliaScripts/runjob.jl $three $one $one >> /home/me/dailylog.txt 2>&1 我在朱莉娅身上做的是: runstring=`/home/me/juliaScripts/runjob.

我在使用run/pipeline命令时遇到了一些问题,我不确定我到底出了什么问题。我的目标是附加到日志并重定向STDERR,以便在日志中显示错误。与我要运行的命令行(在终端上运行时工作)等效的命令行如下所示:

/home/me/juliaScripts/runjob.jl $three $one $one >> /home/me/dailylog.txt 2>&1
我在朱莉娅身上做的是:

runstring=`/home/me/juliaScripts/runjob.jl $three $one $one`
run(pipeline(runstring,stdout="/home/me/dailylog.txt",stderr="/home/me/dailylog.txt",append=true))
我得到的错误是:错误:未定义管道
是否有更好的方法使用run命令来实现我想要的(附加到日志并重定向STDERR)?非常感谢。

Julia的0.4版引入了
管道
命令。
如果您没有使用0.4,我建议您升级。(并列安装两个版本的Julia也没有问题。)

Julia的0.4版引入了
管道
命令。
如果您没有使用0.4,我建议您升级。(并列安装两个版本的Julia也没有问题。)

有一个元解决方案,用于运行与shell命令等效的命令,即在shell中运行它。对于给出的示例:

bashcmd = "/home/me/juliaScripts/runjob.jl $three $one $one >> /home/me/dailylog.txt 2>&1"
run(`/bin/bash -c $bashcmd`)

这在版本0.3中应该可以使用,但是可能需要用不同的路径替换
/bin/bash
(取决于您正在运行的shell)。此外,需要更仔细地转义
$three$one$one
(如果它们是简单的字母数字单词,则应该可以)。

有一个元解决方案,用于运行与shell命令等效的命令,即在shell中运行它。对于给出的示例:

bashcmd = "/home/me/juliaScripts/runjob.jl $three $one $one >> /home/me/dailylog.txt 2>&1"
run(`/bin/bash -c $bashcmd`)

这在版本0.3中应该可以使用,但是可能需要用不同的路径替换
/bin/bash
(取决于您正在运行的shell)。此外,
$three$one$one
需要更仔细地转义(如果它们是简单的字母数字单词,应该可以).

Julia的.3.8版上没有刚实现的管道功能…有人知道Julia的早期版本的变通方法吗?Julia的.3.8版上没有刚实现的管道功能…有人知道Julia的早期版本的变通方法吗?不幸的是,目前还没有选择。我可以处理除2>&1之外的所有问题。你们知道如何用backticks和/或其他操作符将其翻译成Julia吗?我不得不大量修改引用,以使类似的东西起作用。我的看起来像:readall(
$pathtobin arg1=makewidgets'source='$sourcefile'/output='$resultsfile/format=png
)readall(
reg query'HKEY\u CURRENT\u USER\Software\Someone\Product\Blah'/v BaseDirectory
)不幸的是,目前这不是一个选项。我可以处理除2>&1之外的所有问题。你们知道如何用backticks和/或其他操作符将其翻译成Julia吗?我不得不大量修改引用,以使类似的东西起作用。我的看起来像:readall(
$pathtobin arg1=makewidgets'source='$sourcefile'/output='$resultsfile/format=png
)readall(
reg query'HKEY\u CURRENT\u USER\Software\Someone\Product\Blah'/v BaseDirectory