首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

Linux cat <(echo 123) 这种用法叫什么?顺便分享一下 Linux 中的符号

  •  
  •   rizon · 224 天前 · 1739 次点击
    这是一个创建于 224 天前的主题,其中的信息可能已经有所发展或是发生改变。
    
    $ echo 123|cat -
    
    $ cat <(echo 123)
    
    $ cat <<EOF
    > 123
    > EOF
    
    
    

    分享几种 linxu 的符号用法

    然后问问 有谁知道 <()这种用法是什么??

    10 回复  |  直到 2019-04-30 13:49:31 +08:00
        1
    xml123   224 天前
    重定向
        2
    dangyuluo   224 天前
    仿佛看到高中的我。`<(echo 123)`会生成一个文件描述符( fd ),然后将这个描述符定向到当前命令的 stdin or $0

    你应该也会喜欢 hear string 和 here document

    https://www.tldp.org/LDP/abs/html/x17837.html

    http://tldp.org/LDP/abs/html/here-docs.html
        3
    iwtbauh   224 天前 via Android
    <()这是一种 bash 扩展。POSIX 里没有这种语法。

    如果要考虑可移植性,应该尽量避免这种写法
        4
    msg7086   224 天前
    这都是 Bash 里的东西,和 Linux 没关系。我 Windows 下的 Bash 也支持这些东西。
        5
    ceyes   223 天前   ♥ 1
    $ echo 123 | cat -
    管道将 stdout 传输到 stdin,这里用“-”代表标准输出文件‘/dev/stdout ’,类似的用法还可以看下 xargs
    https://www.tldp.org/LDP/abs/html/io-redirection.html
    https://www.ibm.com/developerworks/cn/linux/l-lpic1-103-4/index.html

    $ cat <(echo 123)
    subshell 并重定向
    https://www.tldp.org/LDP/abs/html/subshells.html

    $ cat <<EOF
    > 123
    > EOF
    Here Documents,参考: http://tldp.org/LDP/abs/html/here-docs.html
        6
    nutting   223 天前
    管道和重定向,搜搜资料,windows 的命令行也有这些概念
        7
    zbinlin   223 天前
        8
    flanker   223 天前
    管道
        9
    ysc3839   223 天前 via Android
    @ceyes '-' 应该是程序自己处理的吧?执行 `echo test > -` 可以创建这个文件。
        10
    kimiichan   223 天前
    进程替换
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1102 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 23:05 · PVG 07:05 · LAX 15:05 · JFK 18:05
    ♥ Do have faith in what you're doing.