【问题标题】:zsh give file argument without creating a file - syntax?zsh 在不创建文件的情况下给出文件参数 - 语法?
【发布时间】:2011-04-21 05:50:35
【问题描述】:

假设我有一个程序 P,它有一个文件名作为参数。例如

P file

读取文件“file”并对其进行处理。

现在有时“文件”的内容非常小,例如只有一条线。因此,不要使用该行创建文件 f 并调用

P f

我想直接将 line 的内容作为参数提供给 P。我不想为 P 编写包装器。

在 zsh 中可以做到这一点吗?语法如何?

【问题讨论】:

    标签: linux bash shell syntax zsh


    【解决方案1】:
    P <(echo "something something")
    

    同样适用于 bash。

    【讨论】:

      【解决方案2】:

      如果您已经有文字字符串或变量,则无需使用进程替换。您可以使用here字符串(这是一个单行here文档)。

      使用文字字符串:

      P <<< "f"
      

      或者,使用变量:

      P <<< "$f"
      

      如果不需要保留空格,可以省略引号。

      这也适用于 Bash 和 ksh。

      【讨论】:

      • cat &lt;&lt;&lt;'foo' 有效,但 stat &lt;&lt;&lt;'foo' 无效。 &lt;&lt;&lt; 实际上在做什么?似乎没有将文件名传递给程序。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多