Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
YUCOAT
V2EX  ›  Linux

Shell中程序将重定向符当成了参数了怎么处理?

  •  
  •   YUCOAT · May 6, 2013 · 4276 views
    This topic created in 4766 days ago, the information mentioned may be changed or developed.
    典型如:
    scrapy crawl simple > out

    它可能会将 > 和out当成参数传递给scrapy

    我尝试过以下办法:
    t=`scrapy crawl simple`;echo $t >> out
    scrapy crawl simple 2&>1 out

    都不管用。

    我觉的我的shell学得还可以,但是长时间没有使用稍复杂功能的需要,然后就忘了一大半!
    6 replies    1970-01-01 08:00:00 +08:00
    tangzx
        1
    tangzx  
       May 6, 2013
    \>\>试试
    YUCOAT
        2
    YUCOAT  
    OP
       May 6, 2013
    我的错,我没有处理好。我这样之后:
    scrapy crawl simple 2> out
    程序正常了。
    chemzqm
        3
    chemzqm  
       May 6, 2013
    这个...貌似你用的不是Bash。用命令
    echo $SHELL
    看看你用的是什么shell
    wwwjfy
        4
    wwwjfy  
       May 6, 2013
    这个不会是“可能”啊... > out 没可能当成参数,如果是常见的sh, bash, zsh的话

    2>out 是说把error定向到out文件
    swulling
        5
    swulling  
       May 6, 2013
    如果是bash的话,是没有可能的。。。因为传给程序参数的是shell,程序只能被动接受
    CNpigCA
        6
    CNpigCA  
       May 7, 2013
    如果是想同时输出错误和标准输出,bash可以用 命令 &> 输出文件,或者 命令 >& 输出文件.
    你的第二个输出到out其实你的标准输出还是在显示器上, 你可以这样写也成 命令 > 输出文件 2>&1
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1502 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 466ea39e · 44ms · UTC 16:33 · PVG 00:33 · LAX 09:33 · JFK 12:33
    ♥ Do have faith in what you're doing.