使用-v选项启动bash会向控制台生成一个长输出
$ bash -v
source ~/Dropbox/bin/tim_functions.sh
\#!/bin/bash
...several hundred more lines
Run Code Online (Sandbox Code Playgroud)
我想将输出捕获到一个文件,以便更容易浏览,但我已经尝试过bash -v 2>&1 > out_bash.txt,bash -v | tee out_bash.txt并且无法捕获文件中终端屏幕上的信息.好像详细输出既不是stderr也不是stdout.怎么会这样?
任何人都可以建议一种方法来捕获bash -v的输出?
bash -v 2>&1 > out_bash.txt
Run Code Online (Sandbox Code Playgroud)
不是你想要的,它应该是
bash -v >out_bash.txt 2>&1
Run Code Online (Sandbox Code Playgroud)
在阅读其他有用的答案后,我相信这个问题与 bash 如何将详细信息发送到 tty 有关 - 这与 stderr 或 stdout 有所不同。可以通过以下解决方法捕获它:
$ screen -L
$ bash -v
$ exit #from the bash session
$ exit #from the screen session
Run Code Online (Sandbox Code Playgroud)
这会生成包含输出的 screenlog.0 文件。
感兴趣的 bash -v 输出是在运行 10.7.3 (Lion) 的 Mac 上
$ bash --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin11)
Copyright (C) 2007 Free Software Foundation, Inc.)
Run Code Online (Sandbox Code Playgroud)
我尝试的另一个 10.6.8 mac 的输出较少(有趣/详细),尽管有类似的 .bashrc 文件。
| 归档时间: |
|
| 查看次数: |
3707 次 |
| 最近记录: |