所以我曾多次读过关于stdout,stdin和stderr的文章。这听起来像一个非常简单的概念,但我不知道为什么我还无法掌握它。
好吧,我正在编写一个家庭作业的脚本。部分原因是至少需要两个参数。如果它少于两个参数,它应该在stderr上打印一个错误,否则它应该将所有文件的内容打印到stdout。 (现在假设所有文件都是文本文件,我不想处理它)
所以在阅读Linux Pocket指南后,我知道如何开始
#!/bin/bash
if[$# -lt 2]
then
echo $0 error: you must supply two arguments"
else
//stuff
fi
我的第一个问题是,代码行:
echo $0 error: you must supply two arguments"
是否满足“应该在stderr上打印错误”的要求?
此外,作业要求我将参数命名为a1,a2,a3 ......等等。我如何命名这个论点?
最后,如何将所有内容放在一起,换句话说,如何连接文件并打印它们?
答案 0 :(得分:1)
没有。
$('#bookingTable > tbody > tr').each(function () {
var type= $(this).find('select:first').attr('name');
var qty = $(this).find('option:selected').val();
var amount = (qty * price[type])
sum += amount;
$(this).find('.amount').text('$' + amount.toFixed(2));
});
表示打印文件名。您没有将输出定向到任何地方。
示例:
echo $0
#!/bin/bash
echo "name stdout: $0"
echo "name stderr: $0" >&2
是指向stdout的指针。它可以不提供,它是默认值
&1
是指向stderr的指针
为了证明这一点,运行此脚本并将脚本stderr输出重定向到/ dev / null。 如果你看不到输出,那么你知道回声是在stderr。
&2