错误“意外标记‘(’附近的语法错误?”

cal*_*leb 3 tcsh shell-script csh

我的终端里有什么

bash: settings64.csh: line 35: syntax error near unexpected token `('
bash: settings64.csh: line 35: `foreach i ( $xlnxInstLocList )'
Run Code Online (Sandbox Code Playgroud)

部分脚本

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 )
Run Code Online (Sandbox Code Playgroud)

底部语法错误的位置

line 35
foreach i ( $xlnxInstLocList )
Run Code Online (Sandbox Code Playgroud)

我不是脚本家;我正在尝试修复 ISE DESIGN SUITE 安装的脚本错误。我只需要一组快速代码来替换“foreach i ( $xlnxInstLocList )”以执行其预期功能。我认为这是一个 Bash 脚本。

Jde*_*eBP 18

正确按照实际安装说明进行操作!

你把它埋在评论中:

环境变量被写入“/opt/Xilinx/14.7/ISE_DS”中的 settings[32|64].(c)sh。要启动 Xilinx 工具,请首先获取设置脚本:

C-shell 64位环境...
source /opt/Xilinx/14.7/ISE_DS/settings64.csh

这只是一大组非官方说明的一部分,您没有正确阅读整件事。他们继续说:

Shell、Bash shell、Korn Shell 64 位环境...
. /opt/Xilinx/14.7/ISE_DS/settings64.sh

Xilinx 本身的实际说明,如安装指南的“Linux 安装”部分所述:

1.进入XILINX安装目录

2.根据您的 shell 的需要,键入source settings32.(c)shsource settings64.(c)sh

从您的问题中可以明显看出,您正在使用 Bourne Again shell。 所以你应该采购.sh文件而不是.csh文件。 停止尝试修复不需要修复的 Xilinx 脚本,而是在Xilinx 提供的不同 shell 的一组脚本中为您的 shell实际运行正确的脚本

进一步阅读

  • Linux 安装”。 Xilinx 设计工具:安装和许可指南。版本 14.1。赛灵思。2012-05-08。页。6.


Dop*_*oti 11

bash没有foreach; 这个脚本可能是为了在csh或 中运行tsch。如果您使用 调用脚本./myscript.csh,请确保它的第一行是#!/bin/csh(或系统上该 shell 的任何完整路径)。