我們每天運行Selenium測試來測試我們的網站和擴展。我寫了一個腳本(根據this question)來計算通過和失敗測試的次數。下面是該腳本:如何將錯誤重定向到bash中的/ dev/null?
#!/bin/bash
today=`TZ='Asia/Tel_Aviv' date +"%Y-%m-%d"`
yesterday=`TZ='Asia/Tel_Aviv' date +"%Y-%m-%d" -d "yesterday"`
...
print_test_results()
{
declare -i passed_tests=0
declare -i failed_tests=0
declare -i total_tests=0
log_suffix="_${file_name}.log"
yesterday_logs="${log_prefix}${yesterday}_[1,2]*${log_suffix}"
today_logs="${log_prefix}${today}_0*${log_suffix}"
for temp_file_name in $yesterday_logs $today_logs ; do
total_tests+=1
if grep -q FAILED "$temp_file_name" ; then
failed_tests+=1
elif grep -q OK "$temp_file_name" ; then
passed_tests+=1
else
failed_tests+=1
fi
done
echo "<tr>"
echo "<td>$test_name - $today</td>"
if [ $passed_tests = "0" ]; then
echo "<td>$passed_tests passed</td>"
echo "<td><span style=\"color: red;\">$failed_tests failed</span></td>"
else
echo "<td><span style=\"color: green;\">$passed_tests passed</span></td>"
echo "<td>$failed_tests failed</td>"
fi
echo "<td>$total_tests tests total</td>"
echo "</tr>"
}
file_name="chrome_gmail_1_with_extension_test"
test_name="Chrome Gmail 1 With Extension Test"
print_test_results
...
但問題是,如果文件不存在(in $yesterday_logs $today_logs
),我得到錯誤信息。如何將這些錯誤消息重定向到/ dev/null?我想從腳本中將它們重定向到/ dev/null,而不是從調用腳本的行中 - 我希望此腳本不會顯示有關不存在的文件的錯誤消息。
[使用cat命令時抑制錯誤消息]的可能重複(https://stackoverflow.com/questions/27178935/suppress-error-message-while-using-cat-command) – Sam