首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在/bin/sh中强制命令的特定版本

如何在/bin/sh中强制命令的特定版本
EN

Stack Overflow用户
提问于 2016-04-13 14:46:38
回答 1查看 460关注 0票数 0

当运行wind-1.8.2/配置时,它会报告flex版本太老了:

配置:错误:您的flex版本太老了。请安装flex版本2.5.33或更高版本

葡萄酒-1.8.2/配置:

代码语言:javascript
复制
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for Wine 1.8.2.
...

我在本地安装了flex-2.6.0,并在.cshrc中设置了别名

代码语言:javascript
复制
alias flex /user/user_name/TOOLS/flex-2.6.0/bin/flex

但配置仍然报告相同的错误消息。

在我将FLEX=$ac_cv_prog_FLEX更改为FLEX=/user/user_name/TOOLS/flex-2.6.0/bin/flex后,它将停止报告flex旧版本警告。

我想知道如何在脚本中强制执行特定的内容。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-13 15:11:50

您应该将安装了更新版本的flex命令的目录放在PATH环境变量的前面。确保此目录出现在包含旧版本的目录之前,因此这是找到的第一个版本。

.cshrc中设置别名只适用于您的交互式C。它不会对用于解释/bin/sh脚本的非交互式Bourne样shell ( configure )产生任何影响。我不使用C shell,但是您可以在.login启动文件中使用以下内容:

代码语言:javascript
复制
setenv PATH "/user/user_name/TOOLS/flex-2.6.0/bin/flex:$PATH"

如果您的操作系统使用Bourne样式的.profile来自定义您的环境,则需要使用类似Bourne的shell的语法更新该文件:

代码语言:javascript
复制
export PATH="/user/user_name/TOOLS/flex-2.6.0/bin/flex:$PATH"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36602014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档