C Erro de sintaxe do Script Shell “final inesperado do arquivo”

1

Estou tentando escrever um script c-shell que verifica o número de argumentos e ecoa uma string, mas estou recebendo um erro inesperado de sintaxe de arquivo e não entendo o motivo.

Aqui está o que eu tentei:

if ( $#argv == 0 ) then
echo "Enter one or more args"
else
echo "Entry accepted"
endif

Mais tarde, tentei exibir cada argumento encontrado com isso:

if ( $#argv == 0 ) then
echo "Enter one or more args"
else
  foreach arg ( $* )
    echo "Found argument $arg"
  end 
endif

e obtivemos um erro de sintaxe diferente "token inesperado" ('"

Qualquer ajuda é apreciada

    
por Andrew Wong 13.12.2015 / 05:25

1 resposta

2

Concordando com o comentário de @ mark-plotnick , o OP precisa garantir que o script seja executado por csh , por exemplo, adicionando a linha "hash-bang":

#!/bin/csh

ou executando o script usando o programa apropriado:

csh ./foo

Como regra geral, se um script não tiver essa informação, ele será executado usando /bin/sh

Leitura adicional:

por 13.12.2015 / 15:20