我想知道是否有一个内置的BASH命令在stderr上打印一些文本,就像在标准输出上打印文本的echo
命令一样。我不想使用临时的io重定向。我使用内置命令在stderr上生成一个错误,例如ls --asdf
(ls:无法识别的选项'--asdf'),但我想要一些更整洁的东西。在stderr上打印一条消息的Bash命令
编辑----
其实我试图证明标准错误/标准输出重定向和我的例子是这样的:
sh test.sh >test-out.txt 2>test-err.txt
为清楚起见,我想保持test.sh文件简单和干净尽可能,这意味着在文件中避免>
运算符。
您可能需要添加:'if(argc> 1)fprintf(stderr,“\ n”);'当没有给定输入时防止杂散换行到'stderr'。 – 2014-08-18 21:59:12
@DavidC。Rankin:我认为这是个好主意。然而,就目前而言,当没有参数以'echo'的方式出现时,它会输出一个换行符。 – 2014-08-18 22:34:59
是的,我也看到了这一点,但我想如果我们做了一些自定义的事情,我们可以使它更好地工作在一个垃圾箱:)我测试了两种方法,并且我喜欢在没有输入的情况下抑制换行。其他人可能喜欢空行。 – 2014-08-19 00:31:53