erro de redirecionamento
O problema é que o arquivo que você tenta ler não existe porque a variável que você usa para se referir ao arquivo está vazia.
$2
significa o segundo parâmetro, mas em ./script.sh
não há nenhum parâmetro. Você precisa de algo como ./script.sh file1 file2
se o erro
A linha
if [ avem_element "$sir1[i]" "${sir[@]}" -eq 0 ];then
está errado. Se eu entendi corretamente, então você quer chamar a função avem_element
com dois parâmetros e comparar o código de saída. Mas [ ]
compara apenas cadeias. if
verifica um código de saída (geralmente o de [ ]
). Você não precisa de [ ]
. Apenas faça isso:
if avem_element "$sir1[i]" "${sir[@]}"; then