这个是centos bash shell script 的脚本程序,我想问下,我在指定路径中执行,会出现“找不到此文件

或目录的”比如说/sbin里面我是在除文件所在目录以外用的是这个命令"shfile.sh"这个是我做的实验脚本... 或目录的”比如说/sbin里面 我是在除文件所在目录以外用的是这个命令" sh file.sh "
这个是我做的实验脚本
展开
 我来答
leesunshine007
推荐于2016-03-26 · TA获得超过1172个赞
知道小有建树答主
回答量:701
采纳率:0%
帮助的人:448万
展开全部
  1. 首先, 有个逻辑错误:

    你的 PATH 环境变量 配置在 你要执行的那个文件中,  然后 你又想 在你配置的路径中去找 你的可执行文件, 当然是不行的.

  2. 一般情况下, PATH 如果想一直起作用, 大家都会配置到  ~/. bash_profile 或者 ~/.bashrc 中, 这样, 你一登录, 就会首先执行 这两个文件(也有一些发行版, 只执行一个, 另一个慢慢淘汰了), 然后系统就会在你配置的路径中 去 搜寻 可执行程序 了

  3. 有一点你要明白的是, PATH 只是系统搜寻 可执行程序的目录,    这什么意思呢?

    比如我写了一个shell脚本:

  4. a.sh
    chmod u+x ./a.sh  // 添加可执行权限
  5. 然后把它放到 /sbin 中, 并把 /sbin 加入到  PATH 中
  6. 这时, 我在任意地方 "执行" 这个程序, 系统 都会找到, 不用加路径, 你可以随意写  a.sh
  7. 但是, 这并不意味着, 你可以 任意的 vi a.sh  用vi打开的话, 还是要指定路径的.

最后 总结一下:
1. 脚本要可执行
2. PATH 修改后要  source 一下.
3. PATH 只是执行可执行程序时查找的路径, 不是 sh file.sh 时, sh file.sh 和  cat file.sh; vi file.sh 一样, 不会查找 PATH.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式