Questions tagged «io-redirection»

I / O重定向在外壳脚本中使用。通过此功能,可以获取命令的输出并将其重定向为另一个命令的输入。或者命令可以从文件而不是键盘获取输入。整个过程有助于以各种方式连接命令。


13
在文件中查找和替换,覆盖文件不起作用,它清空了文件
我想通过命令行在HTML文件上运行查找和替换。 我的命令如下所示: sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html > index.html 当我运行此文件并随后查看文件时,它为空。它删除了我文件的内容。 当我再次还原文件后运行此命令时: sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html 的stdout是该文件的内容,查找和替换已经被执行。 为什么会这样呢?

16
如何将密码传递给scp?
我知道不推荐这样做,但是是否可以将用户密码传递给scp? 作为批处理作业的一部分,我想通过scp复制文件,接收服务器当然需要密码,不,我不能轻易地将其更改为基于密钥的身份验证。

7
什么是/ dev / null 2>&1?
我在/etc/cron.daily/apf中找到了这段代码 #!/bin/bash /etc/apf/apf -f >> /dev/null 2>&1 /etc/apf/apf -s >> /dev/null 2>&1 它正在刷新并重新加载防火墙。 我不明白那>> /dev/null 2>&1部分。 将它放在cron中的目的是什么?它覆盖了我的防火墙规则。我可以安全地删除此Cron作业吗?

6
发送字符串到标准输入
有没有一种方法可以有效地在bash中执行此操作: /my/bash/script < echo 'This string will be sent to stdin.' 我知道我可以通过管道传递回声的输出,例如: echo 'This string will be piped to stdin.' | /my/bash/script

10
从批处理文件中重定向输出
我正在使用一些简单的命令创建一个批处理文件,以从系统中收集信息。批处理文件包含用于获取时间,IP信息,用户等的命令。 我将所有命令组装在一个批处理文件中,并且可以运行,但是我希望该批处理文件在运行时将结果输出到文本文件(日志)。是否可以添加到批处理中的命令? 请记住,我不想从cmd运行批处理,然后重定向输出;如果可能的话,我想从批处理内部重定向输出。


2
>&是什么意思?
这个表达让我有些困惑: gcc -c -g program.c >& compiler.txt 我知道&>filename会将stdout和stderr都重定向到file filename。但是在这种情况下,“&”号在大于号之后。它看起来像形式M>&N,其中M和N是文件描述符。 在上面的代码段中,是M=1和N='compiler.txt'吗?与以下内容有何不同? gcc -c -g program.c > compiler.txt (ampersand removed) 我的理解是,每个打开的文件都与一个大于2的文件描述符相关联。这正确吗? 如果是这样,文件名是否可以与其作为重定向目标的文件描述符互换?

16
将stdout和stderr捕获到不同的变量中
是否可以在不使用临时文件的情况下以不同的变量存储或捕获stdout和stderr ?现在,我这样做是为了out在err运行时输入stdout和stderr some_command,但是我想避免使用temp文件。 error_file=$(mktemp) out=$(some_command 2>$error_file) err=$(< $error_file) rm $error_file


1
3>&1隐含4>&3 5>&3等吗?
我希望 echo foo | tee /proc/self/fd/{3..6} 3>&1 因/ proc / self / fd / 4之类的错误而失败:没有此类文件或目录等,但令我惊讶的是,它输出 foo foo foo foo foo 就像3>&1导致以下所有描述符都重定向到stdout一样,除非如果我更改3为其他内容则不起作用,例如 $ echo foo | tee /proc/self/fd/{3..6} 4>&1 tee: /proc/self/fd/3: No such file or directory tee: /proc/self/fd/5: No such file or directory tee: /proc/self/fd/6: No such file or directory foo …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.