找回密码
 立即注册
收起左侧

请教这段话什么意思

5
回复
4179
查看
[复制链接]
累计签到:2 天
连续签到:1 天
来源: 2013-10-7 15:15:19 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我已经安装了qt并且设置了环境变量,LD_LIBRARY_PATH设成了/usr/local/qt/lib:,下面是下载的程序中一个脚本文件的一段:
if( $?LD_LIBRARY_PATH )
  setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:~/code/lib/i686
else
  setenv LD_LIBRARY_PATH ~/code/lib/i686
endif
它是不是应该只执行红色部分?红色部分具体什么意思?它把LD_LIBRARY_PATH跟~/code/lib/i686做了什么关系?
回复

使用道具 举报

累计签到:21 天
连续签到:1 天
2013-10-7 16:37:53 显示全部楼层
本帖最后由 xgqter 于 2013-10-7 16:40 编辑

判断是否设置了环境变量LD_LIBRARY_PATH,如果设置过,执行红色那句,没设置过,就将~/code/lib/i686设置为LD_LIBRARY_PATH.
红色那句是把~/code/lib/i686 加入到LD_LIBRARY_PATH,即在原有LD_LIBRARY_PATH的基础上再添加一个路径。
else下面那句,意思是将LD_LIBRARY_PATH设置为~/code/lib/i686,不保留原有的LD_LIBRARY_PATH。

点评

准确!  发表于 2013-10-7 22:28
参与人数 1人气 +2 收起 理由
yaoxin + 2 隔了这么久了,谢谢~

查看全部评分总评分 : 人气 +2

回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2013-10-20 10:37:04 显示全部楼层
xgqter 发表于 2013-10-7 16:37
判断是否设置了环境变量LD_LIBRARY_PATH,如果设置过,执行红色那句,没设置过,就将~/code/lib/i686设置为 ...

时隔多日我又来弄这个问题了,还是那样,我已经设置LD_LIBRARY_PATH了,但是脚本文件执行到 if 这个位置的时候就提示 if: Empty if. 然后就停止了,后面的语句不再继续执行了,这是为什么呢?始终找不到原因。
回复 支持 反对

使用道具 举报

累计签到:21 天
连续签到:1 天
2013-10-20 19:39:09 显示全部楼层
yaoxin 发表于 2013-10-20 10:37
时隔多日我又来弄这个问题了,还是那样,我已经设置LD_LIBRARY_PATH了,但是脚本文件执行到 if 这个位置 ...

你用什么运行脚本呢,建议再仔细看看脚本编写使用的语法是否恰当。good luck
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2013-10-21 13:18:19 显示全部楼层
xgqter 发表于 2013-10-20 19:39
你用什么运行脚本呢,建议再仔细看看脚本编写使用的语法是否恰当。good luck ...

用的作者给的一个.sh文件,帮我看看好吗?整个内容如下:
#!/bin/tcsh
mkdir -p ~/code
mkdir -p ~/code/bin
mkdir -p ~/code/bin/i686
mkdir -p ~/code/include
mkdir -p ~/code/lib
mkdir -p ~/code/lib/i686
mkdir -p ~/code/obj
mkdir -p ~/code/obj/i686
mkdir -p ~/code/src
mkdir -p ~/code/src/libraries
cp *.tgz ~/code/src/
cp *.sh ~/code/src/
cp *.txt ~/code/src/
pushd ~/code/src
foreach h (`ls -1 *.tgz`)
  tar -xvzf $h
end  //在此之前的语句作用都能正常实现
if( $?LD_LIBRARY_PATH )  //运行到这里就停了 提示 if: Empty if. 之前我已经给 LD_LIBRARY_PATH 设置了路径,按理它是不是应该把 ~/code/lib/i686 加到 LD_LIBRARY_PATH 中?
  setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:~/code/lib/i686
else
  setenv LD_LIBRARY_PATH ~/code/lib/i686
endif
if( $?QTDIR )
else
  setenv QTDIR /usr/share/qt3
endif
./compile.sh
mkdir -p tarfiles
mv *.tgz tarfiles
cp *.sh tarfiles
cp *.txt tarfiles
popd
回复 支持 反对

使用道具 举报

累计签到:21 天
连续签到:1 天
2013-10-22 12:15:22 显示全部楼层
yaoxin 发表于 2013-10-21 13:18
用的作者给的一个.sh文件,帮我看看好吗?整个内容如下:
#!/bin/tcsh
mkdir -p ~/code

在运行这个脚本之前,你是怎么设置LD_LIBRARY_PATH的呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了