Erro “erro de sintaxe próximo ao token inesperado” ('? ”

3

O que há no meu terminal

bash: settings64.csh: line 35: syntax error near unexpected token '('
bash: settings64.csh: line 35: 'foreach i ( $xlnxInstLocList )'

Porção do script

set xlnxInstLocList="${xlnxInstLocList} common"
set xlnxInstLocList="${xlnxInstLocList} EDK"
set xlnxInstLocList="${xlnxInstLocList} PlanAhead"
set xlnxInstLocList="${xlnxInstLocList} ISE"
set XIL_SCRIPT_LOC_TMP_UNI=${XIL_SCRIPT_LOC}
foreach i ( $xlnxInstLocList )

Localização do erro sintático na parte inferior

line 35
foreach i ( $xlnxInstLocList )

Eu não sou um criador de scripts; Estou tentando corrigir um erro no script para a instalação do ISE DESIGN SUITE. Eu só preciso de um conjunto rápido de código para substituir "foreach i ($ xlnxInstLocList)" para executar sua função pretendida. Eu acho que é um script Bash.

    
por caleb 06.01.2017 / 20:31

3 respostas

18

Siga as instruções de instalação propriamente!

Você enterrou isso em um comentário:

The environment variables are written to settings[32|64].(c)sh at "/opt/Xilinx/14.7/ISE_DS". To launch the Xilinx tools, first source the settings script:C-shell 64 bit environment...
source /opt/Xilinx/14.7/ISE_DS/settings64.csh

Isso é apenas parte de um conjunto maior de instruções não oficiais , e você não leu tudo corretamente. Eles continuam dizendo:

Shell, Bash shell, Korn Shell 64 bit environment...
. /opt/Xilinx/14.7/ISE_DS/settings64.sh

As instruções reais do próprio Xilinx, conforme indicado na seção "Instalação do Linux" do guia de instalação, dizem:

1. Go to the XILINX installation directory2. Type either source settings32.(c)sh or source settings64.(c)sh, as required for your shell.

Como é evidente na sua pergunta, você está usando o shell Bourne Again. Então você deve estar obtendo o arquivo .sh não o arquivo .csh . Pare de tentar consertar o script do Xilinx, que não precisa ser corrigido, e realmente execute o script correto para o seu shell fora do conjunto de scripts para diferentes shells que o Xilinx fornece.

Leitura adicional

  • " Instalação do Linux ". Xilinx Design Tools: Guia de Instalação e Licenciamento . versão 14.1. Xilinx. 2012-05-08. p. 6.
por 06.01.2017 / 22:10
11

bash não tem foreach ; Este script provavelmente deve ser executado em csh ou tsch . Se você estiver invocando o script com ./myscript.csh , certifique-se de que sua primeira linha seja #!/bin/csh (ou qualquer que seja o caminho completo para esse shell em seu sistema).

    
por 06.01.2017 / 20:37
2

É um script csh . Verifique se é executável, caso contrário, execute chmod u+x settings64.csh e execute-o com ./settings64.csh ou csh settings.sh

    
por 06.01.2017 / 20:40