任何幫助表示贊賞:
我正在運行一個簡單的 java 貨幣轉換器應用程式并嘗試使用條件 bash 陳述句對其進行測驗。對于這個測驗,我試圖測驗當用戶沒有在應用程式中輸入任何值時,結果輸出是什么。這是 bash 腳本:
#!/bin/bash
input=""
expectedOuput="Please enter correct input"
actualOutput=$(java CurrencyConverter $input)
if [ $expectedOutput == $actualOutput ]; then
echo "Test 1 Passed"
else
echo "Test 1 Failed"
fi
我的目標是測驗失敗并回顯,但是腳本只回傳 java 錯誤而不是回顯,如下所示:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
at CurrencyConverter.main(CurrencyConverter.java:12)
我是 bash 腳本的新手,所以一直在更改語法,我似乎無法停止列印 java 錯誤
uj5u.com熱心網友回復:
例外訊息被列印到標準錯誤,所以如果你想得到它actualOutput(現在可能是誤導性的名字):
actualOutput=$(java CurrencyConverter "$input" 2>&1)
您還可以檢查java命令的退出狀態。
還要檢查拼寫錯誤expectedOuput和引號的使用。使用https://www.shellcheck.net/。
這ArrayIndexOutOfBoundsException絕對是你應該在你的java代碼中修復的東西。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/531971.html
標籤:重击壳ubuntu测试
