了解stderr stdout重定向

时间:2016-02-03 14:09:36

标签: shell stdout stderr

我无法理解这一行中正在发生的事情;有人可以为我分解吗?

exec 3>&1 4>&2 > $SOMEFILE 2>&1

1 个答案:

答案 0 :(得分:1)

在将标准输出重定向到文件并将标准错误重定向到同一文件之前,这会将用于标准输出和标准错误的当前文件分别保存到文件描述符3和4。详细说明:

  • function add_remote_validation() { var form = card.el.find('form'); $(form).parsley().addAsyncValidator('validate_function', function (xhr) { return parseInt(xhr.responseText); }); } add_remote_validation(); card.cards['my_card1'].on('validate', function(card){ add_remote_validation(); var result = $.Deferred(); // test any asyncronous validation before doing regular validation $(form).parsley().asyncValidate() .done(function(){ var valid = $(form).parsley().validate(); if(valid) { result.resolveWith(valid); } else { result.rejectWith(valid); } }) .fail(function(){ result.rejectWith(false); }); }); - 使文件描述符3与1重复,因此对3的任何写入都将转到当前绑定到1的文件
  • 3>&1 - 使文件描述符4成为2的重复,其含义与4>&2相同
  • 3>&1 - 将文件描述符1更改为指向> $SOMEFILE
  • $SOMEFILE - 使文件描述符2也引用2>&1