在fish-shell脚本中,如何向stderr打印错误消息?
例如,此消息应该转到stderr流而不是默认的stdout流。
echo "Error: $argv[1] is not a valid option"
答案 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)
功能