标签: pipe

为什么CURL返回和错误(23)写入正文失败?

它作为一个工具正常工作:

curl "someURL"
curl -o - "someURL"
Run Code Online (Sandbox Code Playgroud)

但它不适用于管道:

curl "someURL" | tr -d '\n'
curl -o - "someURL" | tr -d '\n'
Run Code Online (Sandbox Code Playgroud)

它返回:

(23) Failed writing body
Run Code Online (Sandbox Code Playgroud)

卷曲输出管道有什么问题?如何缓冲整个curl输出然后处理它?

macos bash curl pipe osx-lion

115
推荐指数
11
解决办法
18万
查看次数

在Angular中的INPUT元素中使用ngModel中的管道

我有一个HTML INPUT字段.

<input 
    [(ngModel)]="item.value" 
    name="inputField" 
    type="text" 
/>
Run Code Online (Sandbox Code Playgroud)

我想格式化它的值并使用现有的管道:

.... 
[(ngModel)]="item.value | useMyPipeToFormatThatValue" 
....
Run Code Online (Sandbox Code Playgroud)

并收到错误消息:

动作表达式中不能有管道

在这种情况下如何使用管道?

pipe html-input angular2-ngmodel angular

113
推荐指数
4
解决办法
12万
查看次数

检测stdin是终端还是管道?

当我python从没有参数的终端执行" "时,它会启动Python交互式shell.

当我cat | python从终端执行" "时,它不会启动交互模式.不知何故,没有得到任何输入,它已检测到它已连接到管道.

我如何在C或C++或Qt中进行类似的检测?

c c++ qt stdin pipe

108
推荐指数
4
解决办法
3万
查看次数

数字Pipe - Angular 2的参数是什么

我使用下面的数字管道将数字限制为两位小数.

{{ exampleNumber | number : '1.2-2' }}
Run Code Online (Sandbox Code Playgroud)

我想知道'1.2-2'背后的逻辑是什么?我玩过这些尝试实现一个过滤到零小数位的管道,但无济于事.

pipe decimal angular

108
推荐指数
4
解决办法
9万
查看次数

如何使用管道在两个程序之间发送一个简单的字符串?

我试着在网上搜索,但几乎没有任何资源.一个小例子就足够了.

编辑我的意思是,两个不同的C程序相互通信.一个程序应发送"Hi",另一个程序应接收它.这样的事情.

c unix pipe

106
推荐指数
4
解决办法
28万
查看次数

管道到三通时强制线缓冲标准输出

通常,stdout是行缓冲的.换句话说,只要您的printf参数以换行符结尾,您就可以立即打印该行.使用管道重定向时,这似乎不成立tee.

我有一个C++程序,a它输出字符串,总是被\n终止stdout.

当它由它自己运行时(./a),所有内容都在正确的时间正确打印,正如预期的那样.但是,如果我将它传递给tee(./a | tee output.txt),它会在它退出之前不会打印任何内容,这会使使用的目的失效tee.

我知道我可以通过fflush(stdout)在C++程序中的每次打印操作之后添加一个来修复它.但是有更清洁,更简单的方法吗?例如,是否有一个命令可以运行stdout,即使使用管道也会强行进行行缓冲?

unix buffer stdout pipe tee

103
推荐指数
5
解决办法
5万
查看次数

Bash变量范围

请解释为什么最后一个"回声"声明是空白的?我希望它在while循环中增加到值1:

#!/bin/bash
OUTPUT="name1 ip ip status" # normally output of another command with multi line output

if [ -z "$OUTPUT" ]
then
        echo "Status WARN: No messages from SMcli"
        exit $STATE_WARNING
else
        echo "$OUTPUT"|while read NAME IP1 IP2 STATUS
        do
                if [ "$STATUS" != "Optimal" ]
                then
                        echo "CRIT: $NAME - $STATUS"
                        echo $((++XCODE))
                else
                        echo "OK: $NAME - $STATUS"
                fi
        done
fi

echo $XCODE
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下语句而不是++ XCODE方法

XCODE=`expr $XCODE + 1`
Run Code Online (Sandbox Code Playgroud)

它也不会在while语句之外打印.我想我在这里缺少一些关于变量范围的东西,但是ol'手册页并没有显示给我.

bash scope pipe

102
推荐指数
3
解决办法
8万
查看次数

git update-index - 在目录上保持不变

git 1.7.12

我想将给定目录下的所有文件标记为假设未更改.

1)git update-index --assume-unchaged dir/给出"忽略路径".

2)git update-index --assume-unchaged dir/*快速失败,因为它会遇到未被跟踪的文件,因此它给出"致命:无法标记文件"并退出.

3)尝试生成要标记的文件列表. cd进入所需目录然后运行git ls-files | tr '\n' ' ' | git update-index --assume-unchanged.这不会产生任何错误消息,但不会成功标记文件.命令的第一部分git ls-files | tr '\n' ' '正确生成了我要标记的所有文件的空格分隔列表.如果我将该命令的输出复制并粘贴到命令行,则该git update-index命令有效.什么不使用管道?

不,我添加dir到.gitignore 是不够的.我需要将这些文件放在存储库中,但是需要在本地进行不需要的更改,以便用户可以进行拉取.

git command-line pipe

95
推荐指数
3
解决办法
4万
查看次数

捕获shell管道中的错误代码

我目前有一个类似的脚本

./a | ./b | ./c
Run Code Online (Sandbox Code Playgroud)

我想修改它,以便如果a,b或c中的任何一个退出并带有错误代码我打印错误消息并停止而不是向前输出错误的输出.

最简单/最干净的方法是什么?

error-handling shell pipe

91
推荐指数
4
解决办法
3万
查看次数

管道子进程标准输出到变量

我想pythong使用子进程模块运行命令,并将输出存储在变量中.但是,我不希望将命令的输出打印到终端.对于此代码:

def storels():
   a = subprocess.Popen("ls",shell=True)
storels()
Run Code Online (Sandbox Code Playgroud)

我在终端中获取目录列表,而不是将其存储在a.我也尝试过:

 def storels():
       subprocess.Popen("ls > tmp",shell=True)
       a = open("./tmp")
       [Rest of Code]
 storels()
Run Code Online (Sandbox Code Playgroud)

这也会将ls的输出打印到我的终端.我甚至尝试过这个有点过时的os.system方法的命令,因为ls > tmp在终端中运行根本不会打印ls到终端,而是存储它tmp.但是,同样的事情发生了.

编辑:

遵循marcog的建议后,我得到以下错误,但仅在运行更复杂的命令时.cdrecord --help.Python吐了出来:

Traceback (most recent call last):
  File "./install.py", line 52, in <module>
    burntrack2("hi")
  File "./install.py", line 46, in burntrack2
    a = subprocess.Popen("cdrecord --help",stdout = subprocess.PIPE)
  File "/usr/lib/python2.6/subprocess.py", line 633, in __init__
    errread, errwrite)
  File "/usr/lib/python2.6/subprocess.py", line 1139, in _execute_child
    raise child_exception
OSError: [Errno …
Run Code Online (Sandbox Code Playgroud)

python subprocess pipe python-2.6

88
推荐指数
3
解决办法
15万
查看次数