//vivado环境变量
# 1) 生成 vivado 包装脚本(用 cygpath 转成 Windows 路径再交给 cmd.exe)
mkdir -p ~/bin
cat > ~/bin/vivado <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
BAT_MSYS="/e/Xilinx2019.2/Vivado/2019.2/bin/vivado.bat"
BAT_WIN="$(cygpath -w "$BAT_MSYS")"
CMD_EXE="${COMSPEC:-/c/Windows/System32/cmd.exe}"
# 通过 cmd.exe /c 调用 .bat;把参数原样转发
exec "$CMD_EXE" /c "\"$BAT_WIN\" $*"
EOF
chmod +x ~/bin/vivado

# 2)~/bin 放到 PATH 前面,并让 shell 重新识别
export PATH="$HOME/bin:$PATH"
hash -r

# 3) 自检
which vivado
vivado -mode tcl -nolog -nojournal -version

exit
mkdir -p ~/bin
cat > ~/bin/vivado <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
BAT_MSYS="/e/Xilinx2019.2/Vivado/2019.2/bin/vivado.bat"
BAT_WIN="$(cygpath -w "$BAT_MSYS")"
CMD_EXE="${COMSPEC:-/c/Windows/System32/cmd.exe}"

# 把 Bash 里的参数安全地转换给 cmd.exe
args=()
for a in "$@"; do
  a=${a//\"/\"\"}          # 转义双引号
  args+=("\"$a\"")
done
ARG_LINE="${args[*]}"

# 用 call 调 .bat(避免 .bat 里再起一层导致掉进交互 cmd)
exec "$CMD_EXE" /s /c "call \"$BAT_WIN\" $ARG_LINE"
EOF
chmod +x ~/bin/vivado
export PATH="$HOME/bin:$PATH"
hash -r

//长期可用
grep -q 'HOME/bin' ~/.bashrc || echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc

source ~/.bashrc
hash -r
which vivado
vivado -mode tcl -nolog -nojournal -version


Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐