我得到了一個if語句錯誤,我不熟悉如何使用數組和if語句的CShell。Chsell with Arrays and Ifs
我的文件,我正在讀的
FGF 101001011000
和我的代碼是
#!/bin/csh
foreach year (1999 2000 2001)
foreach month (1 2 3 4 5)
echo "" > $year$month
if ($month == 1) then
set letter = F
else if ($month == 2) then
set letter = G
else if ($month == 3) then
set letter = H
else if ($month == 4) then
set letter = R
else if ($month == 5) then
set letter = D
else
print "Fail"
endif
@ year2 = $year % 100
awk '{split ($2,b,""); if (b["'$month'"] == 1) print $1"'$letter'""'$year2'"}' fileRead >> newFile
end
end
是一個月一個字符串或數字的價值,我可以直接在值與值1?即使我之前說過設置,每次使用信函時是否都需要包含設置?如果語句在CShell中工作,該怎麼辦? CShell中的數組像在java中一樣工作嗎?我知道在Java中,我會做第一個月,但是,從我的研究中,我已經讀了數組從1開始,而不是0。這是真的嗎?誰能告訴我爲什麼我得到一個如果錯誤?