V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
miaoxia
V2EX  ›  程序员

如何设置 shell 脚本的环境变量,使得任意目录都可以执行?

  •  
  •   miaoxia · 2017-09-27 15:55:55 +08:00 · 7196 次点击
    这是一个创建于 2617 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有很多常用的操作已经写成了 shell 脚本
    但是每次执行 都需要 cd 到 shell 脚本的目录下
    再去执行./ xxx.sh
    有没有办法设置 shell 脚本所在文件夹的环境变量
    然后可以支持在任意目录下都可以执行?
    谢谢大家

    8 条回复    2017-09-27 18:29:41 +08:00
    liuxu
        1
    liuxu  
       2017-09-27 16:01:26 +08:00   ❤️ 1
    shell 脚本的目录加入到$PATH
    geeglo
        2
    geeglo  
       2017-09-27 16:01:48 +08:00 via iPhone   ❤️ 1
    alias
    miaoxia
        3
    miaoxia  
    OP
       2017-09-27 16:04:44 +08:00
    @liuxu 已经将 shell 目录加入.bash_profile 中
    但是如何运行呢
    还是通过 ./ xxx.sh 吗 这样应该还是会从当前的位置寻找脚本
    liuxu
        4
    liuxu  
       2017-09-27 16:12:08 +08:00   ❤️ 1
    path 设置好后,直接 xxx.sh 就可以了
    pcatzj
        5
    pcatzj  
       2017-09-27 16:13:41 +08:00   ❤️ 1
    @miaoxia #3 “./” 代表当前路径,你这么用肯定是从当前文件夹找了,如果你环境变量配置的对的话,应该直接 xx.sh 这么调用,或者把你的脚本文件放到“/usr/bin/”路径下,也可以直接全局调用。
    miaoxia
        6
    miaoxia  
    OP
       2017-09-27 16:20:28 +08:00
    @liuxu
    @pcatzj
    非常感谢 🙏🙏
    确实是有效的 提高了很多工作效率~
    可惜木有补全:)
    miaoxia
        7
    miaoxia  
    OP
       2017-09-27 16:20:57 +08:00
    @geeglo
    谢谢 提供了好赞的思路~
    FPGA
        8
    FPGA  
       2017-09-27 18:29:41 +08:00
    感觉把脚本写成函数更好,写进 .bashrc,登入 shell 自动生效,无需另外增加脚本文件或者改动环境变量
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3298 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 00:40 · PVG 08:40 · LAX 16:40 · JFK 19:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.