Linux shell :关于PATH和软链接的两个问题!求教!

来源:百度知道 编辑:UC知道 时间:2024/06/14 15:16:58
问题一:

#!bin/sh
PATH=$HOME/test:$PATH
echo 更新后PAHT:$PATH

懂脚本的兄弟帮忙看下:为什么执行该脚本后echo出来的是更新后的PATH,而此时在终端运行 echo $PATH 输出的却还是原来的PATH呢?

结论:该脚本中对PATH做的修改无效。WHY?

问题二:

有一个程序,可执行文件star 、配置文件star.conf。把它们存放在$HOME/STAR/下。可执行文件star对star.conf的访问路径为“当前路径”。

请问,如果我分别给 star 和 star.conf 做符号链接到某个PATH路径(如/usr/bin), 任意路径下执行命令 sudo star 能调用到 star.conf 文件吗?

PS:个人认为应该可以,但事实上,当我这么做时,程序提示找不到配置文件!
关于第一个问题:

在脚本中对PATH进行修改后,添加export $PATH语句

结果运行时出现错误 export: 50: ....... bad variable name

郁闷!!

export PATH=$HOME/test:$PATH
Shell是在子shell里运行的,不export不行,像你那样export也不行……

第二个问题,“当前路径”即Working Directory与$PATH无关,一个简单的例子是
#! /bin/bash
pwd

无论你把存到哪,执行时显示的是当前工作目录,不是文件所在目录,所以star执行时,也会在工作目录找,而不在/usr/bin找。

两个问题没有太大关联,为啥不分开开两个问题呢?

我正在建立中文Linux文档网站,欢迎光临: http://www.linux-wiki.cn/