如何在鱼壳中打印到stderr?

时间:2017-06-10 15:13:45

标签: shell stdout stderr io-redirection fish

在fish-shell脚本中,如何向stderr打印错误消息?

例如,此消息应该转到stderr流而不是默认的stdout流。

echo "Error: $argv[1] is not a valid option"

1 个答案:

答案 0 :(得分:10)

您可以将输出重定向到stderr,例如:

//var app = angular.module('MLMApp',[]);
app.service("uploadFile",function($http){
      this.upload=function(file){
            var fd=new FormData();
            fd.append('myFile',file.upload);
            return $http.post('/upload',fd,{
                 transformRequest:angular.identity,
                 headers:{'Content-Type':undefined}
                 //headers:{'Content-Type':'multipart/form-data}
            });
      };
});

作为参考,以下是一些常见的IO重定向,可用于鱼*。

echo "Error: $argv[1] is not a valid option" 1>&2

* stdin,stdout和stderr的文件描述符分别为0,1和2 * foo 1>&2 # Redirects stdout to stderr, same as bash bar 2>&1 # Redirects stderr to stdout, same as bash bar ^&1 # Redirects stderr to stdout, the fish way using a caret ^ 表示您想要重定向到文件流而不是文件 * Comparison of redirection in various shells(bash,fish,ksh,tcsh,zsh) 功能