首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从csh脚本重定向stdout和stderr

在csh脚本中重定向stdout(标准输出)和stderr(标准错误),您可以使用以下方法:

  1. 将stdout和stderr都重定向到文件:
代码语言:javascript
复制
your_command >& output_file.txt

这将把your_command的stdout和stderr都重定向到名为output_file.txt的文件中。

  1. 将stdout重定向到文件,同时stderr保持不变:
代码语言:javascript
复制
your_command > output_file.txt

这将把your_command的stdout重定向到名为output_file.txt的文件中,而stderr仍然会显示在屏幕上。

  1. 将stderr重定向到文件,同时stdout保持不变:
代码语言:javascript
复制
your_command >& stderr_file.txt

这将把your_command的stderr重定向到名为stderr_file.txt的文件中,而stdout仍然会显示在屏幕上。

  1. 将stdout和stderr都重定向到不同的文件:
代码语言:javascript
复制
your_command > output_file.txt >& stderr_file.txt

这将把your_command的stdout重定向到名为output_file.txt的文件中,同时将stderr重定向到名为stderr_file.txt的文件中。

  1. 将stdout和stderr都重定向到同一个文件,但在文件中分别显示:
代码语言:javascript
复制
your_command >& output_file.txt |& grep -v '^$'

这将把your_command的stdout和stderr都重定向到名为output_file.txt的文件中,同时在文件中分别显示它们。grep -v '^$'命令用于删除空行,以便更清楚地显示stdout和stderr。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux如何在Bash中将标准错误stderr重定向stdout标准输出

默认情况下,输入流错误流都打印在屏幕上。 重定向标准输出流 重定向是一种程序捕获输出并将其作为输入发送到另一个程序或文件的方法。 流可以使用n>运算符重定向,其中n是文件描述符。...command > file command 1> file 要重定向标准错误流(stderr),请使用2>运算符: command 2> file 你可以将stderrstdout都写到两个单独的文件中...要将stderr重定向stdout并将错误消息发送到与标准输出相同的文件,请使用以下命令: command > file 2>&1 > file将stdout重定向到file,2>&1将stderr重定向到...重定向的顺序很重要。例如,以下示例仅将stdout重定向到file。以下这种情况是因为stderr重定向stdout,然后stdout重定向到了file。...要重定向stderrstdout,请使用2>&1或&>构造。 如果你有任何问题或反馈,请随时发表评论。

3.5K20

Python重定向标准输入、标准输出

标准输出标准错误(通常缩写为 stdout  stderr)是建立在每个UNIX系统内的管道(pipe)。...象 stdoutstderr 并不为你增加回车换行符;如果需要,要自已加上。 stdout  stderr 都是类文件对象,就象我们在提取输入源中所讨论的一样,但它们都是只写的。...在我们将 stdout 搞乱之前,让我们把它设回原来的方式。 关闭日志文件。 重定向 stderr 完全以相同的方式进行,用 sys.stderr 代替 sys.stdout。 例 5.34....我们没有指定一个模块(象 binary.xml),而是指定“-”,这会让我们的脚本标准输入而不是磁盘上的一个特别文件中装入语法。(在下个例子中有更多关于它是如何发生的内容。)...那么当语法文件是“-”时我们的脚本如何标准输入读入的呢?没什么神秘的,就是编码。 例 5.36.

4K10
  • pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)

    如果shell参数为True,executable可以用于指定用哪个shell来执行(比如bash、csh、zsh等)。...stdin、stdoutstderr分别表示子程序的标准输入、标准输出标准错误。 可选的值有PIPE或者一个有效的文件描述符(其实是个正整数)或者一个文件对象,还有None。...如果把universal_newlines设置成True,则子进程的stdoutstderr被视为文本对象,并且不管是unix/linux的换行符(’\n’),还是老mac格式的换行符(’\r’),还是...subprocess.STDOUT 一个可以被用于Popen的stderr参数的特殊值,表示子程序的标准错误与标准输出汇合到同一句柄。..., stdin=subprocess.PIPE # 重定向输入值 ) proc.stdin.close() # 既然没有命令行窗口,那就关闭输入 proc.wait() result = proc.stdout.read

    3.8K30

    Shell脚本攻略04-玩转文件描述符及重定向

    最常见的文件描述符是stdin、 stdoutstderr。 我们甚至可以将某个文件描述符的内容重定向到另一个文件描述符中。 下面给出一些对文件描述符进行操作和重定向的例子。...理论知识 在编写脚本的时候会频繁使用标准输入(stdin)、标准输出(stdout标准错误(stderr)。 通过内容过滤将输出重定向到文件是我们平日里的基本任务之一。...stdout重定向到同一个文件中 还可以利用下面这个更好的方法将stderr转换成stdout,使得stderrstdout 都被重定向到同一个文件中 $ cmd >output.txt 2...stdin 当对如果对stderrstdout进行重定向,被重定向的文本会传入文件。...类似地,使用 /dev/stderr代表标准错误, /dev/stdout代表标准输出。 这些特殊的设备文件分别对应stdin、 stderrstdout

    86810

    Shell 输入输出重定向

    ---- 重定向命令 ? 需要注意的是文件描述符: 0 通常是标准输入(STDIN), 1 是标准输出(STDOUT), 2 是标准错误输出(STDERR)。...语法 输出重定向一样,Unix 命令也可以文件获取输入,语法为: command1 < file1 这样,本来需要从键盘获取输入的命令会转移到文件读取内容。...---- 如果希望将 stdout stderr 合并后重定向到 file,可以这样写: $ command > file 2>&1 或者 $ command >> file 2>&1 ---- 如果希望对...stdin stdout重定向,可以这样写: $ command file2 command 命令将 stdin 重定向到 file1,将 stdout 重定向到 file2...---- 如果希望屏蔽 stdout stderr,可以这样写: $ command > /dev/null 2>&1 注意:0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出

    1.1K40

    UNIX 系统Shell 输入输出重定向命令

    需要注意的是文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。 ---- 输出重定向 重定向一般通过在命令间插入特定的符号来实现。...输出重定向一样,Unix 命令也可以文件获取输入,语法为: command1 < file1 这样,本来需要从键盘获取输入的命令会转移到文件读取内容。...如果希望将 stdout stderr 合并后重定向到 file,可以这样写: $ command > file 2>&1 或者 $ command >> file 2>&1 如果希望对 stdin... stdout重定向,可以这样写: $ command file2 command 命令将 stdin 重定向到 file1,将 stdout 重定向到 file2。...如果希望屏蔽 stdout stderr,可以这样写: $ command > /dev/null 2>&1 注意:0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(

    1.1K30

    stdoutstderr导入到指定文件

    在编写程序中,经常用到stdoutstderr作为输出,通常stdout用于输出程序运行正常时的信息,stderr用于输出程序出错时的信息。...  执行 test ,屏幕上打印stdoutstderr的信息   This is stdout....   ...This is stderr...   2、导入stdout的结果到指定文件    在csh、sh下,使用”>”将stdout的结果导入到指定文件,本例中执行   ....3、导入stderr到指定文件   在 csh 中,用 ">" 将 stdout 导向,用 ">&" 则能将 stdoutstderr 一起导向。可是不能只单独把 stderr 转向。.../test";而这个 subshell 的 stdout 则被转向到out.log,同时这个 subshell 的 stdout stderr 则都被转向到 err.log,但是因为 stdout

    1.5K30

    Shell脚本学习3

    /bin/bash function sum() { echo `expr 1+2+3` } num=$(sum) 重定向 输入输出重定向 Unix 命令默认标准输入设备(stdin)获取输入,将结果输出到标准输出设备...command 2 > file # stderr 重定向到 file command 2 >> file #stderr 追加到 file 文件末尾 command > file 2>&1 # stdout... stderr 合并后重定向到 file command file2 # stdin stdout重定向 全部可用的重定向命令列表: 命令 说明 command > file...n >> file 将文件描述符为 n 的文件以追加的方式重定向到 file。 n >& m 将输出文件 m n 合并。 n <& m 将输入文件 m n 合并。...屏蔽 stdout stderr: command > /dev/null 2>&1 Shell文件包含 Shell 也可以包含外部脚本,将外部脚本的内容合并到当前脚本

    23420

    《Linux命令行与shell脚本编程大全》第十五章 呈现数据

    15.1 理解输入输出 现在知道两种显示脚本输出的方法 1)在显示器屏幕上显示 2)将输出文件重定向到文件中 15.1.1 标准文件描述符 Linux系统将每个对象当做文件处理。...shell或shell中运行的程序脚本出错时生成的错误消息都会发送到这个位置。 默认情况下STROUTSTDERR指向同样的地方(显示器)。但是STDERR不会随着STDOUT重定向而发生改变。...$ls -al test1 test2 test3 badfile &> AllLog.txt 这样表示将STDOUTSTDERR重定向到同一个文件AllLog.txt中了。...15.2 在脚本重定向输出 有两种方法: 1)临时重定向行输出 2)永久重定向脚本中的所有命令 15.2.1 临时重定向 可以单独将一行重定向STDERR。...如何关闭: 将要关闭的文件描述符重定向到特殊符号 &- 一旦关闭后,就不能在脚本中向他写入数据,否则shell会产生错误信息。 例子:   1 #!

    1.3K60

    终极Shell——Zsh

    平心而论,Bash 确实比 Csh 之流的好用多了。不过 Bash 也有很多地方不尽人意,像自动补全的功能不够强大,定位较长路径不够方便等。 后来我使用 Zsh。...Zsh 兼容大多数主流 Shell,像 Bash、Csh 等。...zstyle ‘:completion: :approximate: ‘ max-errors 1 numeric 当然可以把容错字数改大一些,不过太大了也没有意义了 随便输点什么,就可以匹配所有的,没有一样...强大的重定向功能 同时重定向 stdout stderr 到 file: command |& >file 同时重定向到多个文件: command >file.1 >file.2 比如装系统的时候...tgz’ + -g ‘(-/)’ tar zxvf 过滤候选项 tar zxvf [tab] 候选菜单中只出现扩展名为 .tar.gz .gz .tgz 的文件不过这个功能比较复杂,容易引起混乱,通常需要脚本配合

    84020

    解释型语言-shell

    一、分类 Unix/Linux上常见的Shell脚本解释器有bash、sh、csh、ksh等。 bash:是Linux标准默认的shell,内部命令一共有40个。.../test.sh #执行脚本 实例二 脚本使用read命令stdin(标准输入)获取输入并赋值给PERSON变量,最后在stdout(标准输出)上输出 #!...对于 Shell 脚本,就是这些脚本所在的进程ID。 $* $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。...输出重定向: 输出到显示器的内容被重定向到文件:$ command > file 在显示器上不会看到任何输出:$ who > users 不希望文件内容被覆盖,可以使用>>追加到文件末尾 $ echo...> /dev/null 如果希望屏蔽 stdout stderr,可以这样写: $ command > /dev/null 2>&1 参考文献:http://www.w3cschool.cc/linux

    1.5K31

    How to Use the Stdin, Stderr, and Stdout Streams in Bash

    它们是stdin、stdoutstderr。stdin 的全称是标准输入,用于接受用户的输入。stdout 的完整形式是标准输出,用于将命令的输出存储到stdout流中。...stderr 的完整形式是标准错误,用于将任何命令产生的错误信息存储到数据流中。stdin、stdout stderr 的相应数字标识符值为0、12。...Redirection Operators of Stdin, Stdout, and StderrStdin、StdoutStderr重定向操作符重定向符号使用: "<" 或 "0<"用于stdin...Example 2: Use of Stdoutpipe (|) 管道符stdout下面是一个使用管道符重定向输出并且创建文件的例子。...to take an input from a file and write it into a file is shown in this example.这部分介绍了如何同时使用stdinstdout

    2.8K40

    研发:重新认识shell io 重定向

    默认情况下始终有3个"文件"处于打开状态, stdin(键盘), stdout(屏幕), stderr(错误消息输出到屏幕上). 这3个文件其他打开的文件都可以被重定向....对于重定向简单的解释就是捕捉一个文件, 命令, 程序, 脚本, 或者是脚本中的代码块的输出, 然后将这些输出作为输入发送到另一个文件, 命令, 程序, 或脚本中....每个打开的文件都会㹿分配一个文件描述符. stdin, stdout, stderr的文件描述符分别是0, 1, 2. 除了这3个文件, 对于其他那些需要打开的文件, 保留了文件描述符3到9....在某些情况下, 将这些额外的文件描述符分配给stdin, stdout, 或stderr作为临时的剧本链接是非常有用的. 在经过复杂的重定向刷新之后需要把它们恢复成正常状态 ? ? ? ?

    65130

    管道与重定向、文件查找-Linux每日一练(7)

    Unix 系统中,每个进程都有 STDIN 、 STDOUT STDERR 这 3 种标准 I/O 。...标准输入文件(stdin):stdin 的文件描述符为 0,Unix 程序默认 stdin 读取数据。...你肯定也用到过,只不过不一定理解是什么含义,例如在定时任务脚本结尾加上 >/dev/null 2>&1 ,让所有的输出流(包括错误的正确的)都定向到空设备丢弃。...2>&1 合并正确错误输出流,如果是打印到屏幕上的脚本,必须要加 cat /dev/null > filename 快速清理文件内容 xxx.sh >/dev/null 2>&1 丢球所有输出流(包括错误的正确的...题目二:如何安装卸载 rpm 包? 题目三:如何使用 crontab 创建一个定时任务,每天晚上 3 点 10 分执行一次,并忽略输出?

    1.2K31

    解决paramiko执行命令超时的问题

    test.sh启动不起来 stdin, stdout, stderr = self.client.exec_command(‘sh ~/test.sh &’,get_pty=True) 方案2,对于需要等待很久的命令...,stderr=client.exec_command("bash /tmp/run.sh") result_info = "" for line in stdout.readlines...2、解决办法 将远程脚本的标准输出stdout重定向到错误输出stderr即可,test.py 修改如下: import paramiko client = paramiko.SSHClient() client...其实原因很简单,因为bash /tmp/test.sh & 虽然是后台执行,但是依然会产生标准输出,一旦产生标准输出,paramiko就会认为命令还未执行完成,且stdout的buffer大于stderr...这里只要将脚本执行的标准输出重定向到错误输出(1 &2),然后paramiko就可以使用stderr快速读取远程打屏信息了。

    3.8K20

    Shell中错误处理的探索

    写这篇文章主要是因为我在写一些维护脚本的时候正好遇到了需求,所以就尝试了一下。 起:错误异常 错误异常主要的区别在于是否需要脚本的编写者进行处理。...此时 变量$_1:指令输出的stderr(之前保存在stdout之中) stderr:"_try_out='指令输出的stdout' _try_return=指令返回码 " 之后之前类似的语句echo...重定向到了stdout。...最主要的问题是这个方法给脚本带来了额外的开销,流重定向的影响倒是不大,关键是echo的指令替换最后的eval。...不过一来__try的使用次数通常有限,二来提供完整的stdoutstderr在编码时会方便许多,而且其实对脚本来说一两毫秒的性能损耗也并不算大,因此我还是挺乐意使用这个新的方式的。 $ .

    2.8K10
    领券