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
郁闷!!
#!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/