我必须为 unix 编写一个 tcsh 脚本,它从文本文件中的每一行中提取值,比较它们并决定你是应该买(1)、卖(-1)还是什么都不做(0)。基本上是一个简单的股票利润计算。我认为我的所有逻辑都是正确的,但是当我运行脚本时出现“while 语法错误”并且它永远不会执行。我有下面的完整脚本,是否不能在使用 unix 的 while 循环中嵌套语句?如果是这样,有什么建议如何做到这一点?
#!/bin/tcsh
set lineNum='wc -l testcase.txt'
set i=1
while ($i<$lineNum)
set prices='sed -n '$lineNump' testcase.txt'
set arr=( $price )
set j='echo ${#arr}'
set price=0
set x=0
set y=0
set k=0
while ($k < $j)
set a=arr[$k]
set str=""
if ($a>$price)
then
str="$str 1"
price=$((price-a))
else if($a<$price)
then
str="$str -1"
price=$((price+a))
else if($a==$price)
then
str="$str 0"
fi
str="$str $price"
if ($str=='sed -n'('expr $lineNum+1'p)' testcase.txt')
then
x=$((x+1))
fi
y=$((y+1))
end
lineNum=$((lineNum+2))
end
echo $x/$y