zoukankan      html  css  js  c++  java
  • Linux shell中2>&1的含义

    1、关于2>&1的含义

    (1)含义:将标准错误输出重定向到标准输出。
    (2)符号>&是一个整体,不可分开,分开后就不是上述含义了。
      比如有些人可能会这么想:2是标准错误输入,1是标准输出,>是重定向符号,那么"将标准错误输出重定向到标准输出"是不是就应该写成"2>1"就行了?是这样吗?
      如果是尝试过,你就知道2>1的写法其实是将标准错误输出重定向到名为"1"的文件里去了。
    (3)写成2&>1也是不可以的。

    2、为什么2>&1要放在后面

    nohup java -jar app.jar >log 2>&1 &

    (最后一个&表示把条命令放到后台执行。)

    为什么2>&1一定要写到>log后面,才表示标准错误输出和标准输出都定向到log中?

    我们不妨把1和2都理解是一个指针,然后来看上面的语句就是这样的:

    (1)本来1----->屏幕 (1指向屏幕)
    (2)执行>log后, 1----->log (1指向log)
    (3)执行2>&1后, 2----->1 (2指向1,而1指向log,因此2也指向了log)

    欢迎关注我的公众号:云栖语,不一样的研发视界。
    云栖语微信公众号:change-1978
  • 相关阅读:
    RBAC-基于角色的访问控制
    django缓存机制
    drf JWT认证
    drf自动生成接口文档
    drf多表断表操作
    drf过滤排序分页异常处理
    drf认证权限频率
    drf路由组件
    drf视图组件
    drf请求与响应
  • 原文地址:https://www.cnblogs.com/hunttown/p/14869602.html
Copyright © 2011-2022 走看看