我有點困惑done < $1
表示法。
我正試圖編寫一個程序「sumnums」,它讀入一個名爲「nums」的文件,該文件有幾行數字。然後它應該打印出數字的行,然後是所有數字的總和。
目前我有:
#!/bin/bash
sum=0;
while read myline
do
echo "Before for; Current line: \"$myline\""
done
for i in $myline; do
sum=$(expr $sum + $i)
done < $1
echo "Total sum is: $sum"
並正確輸出的數字從NUMS列表,然後說 ./sumnums: line 10: $1: ambiguous redirect
,然後輸出Total sum is: 0
。
因此不知何故,它不是添加。如何重新排列這些行來修復程序並擺脫「不明確的重定向」?
你怎麼調用你的腳本?要麼稱之爲'./sumnum nums'或將'done <$ 1'改爲'done
codeforester
'cat nums | 。/ sumnums' – themightyscot
腳本需要該文件作爲參數。 – karakfa