bash shell脚本错误:模糊重定向

时间:2015-03-27 22:18:59

标签: arrays bash function shell mips

在以下代码中,使用函数封装代码块时会出现问题。错误消息$1: ambigious redirect" is displayed.

while循环逐行读取input.txt文件中的文本,并将其存储在数组linesArray中。

'while'循环中的for循环遍历索引0处的linesArray数组的所有元素,然后执行case语句,该语句将数组的元素与有效元素进行比较mips运营商。

function mnemonicCheck {
  while read line; do
    linesArray=($line)
    for e in ${linesArray[0]}
    do  
      case $e in
        "add")
        ;;
        "sub")
        ;;
        "addi")
        ;;
        "lw")
        ;;
        "sw")
        ;;
        *)
        echo "invalid operator used. Valid operators are: add,sub,addi,lw,sw"
        ;;
      esac
    done
  done < $1
}

#calling methods
checkArguments $1 $2 $3
mnemonicCheck

1 个答案:

答案 0 :(得分:1)

你没有任何参数调用mnemonicCheck,所以在函数$1里面是空字符串。

你会期待什么

< $1
是什么意思? (我同意“模棱两可”在这种情况下使用是一个奇怪的词,但它并不完全错误,因为人们无法确定是什么意思。)