如何通过bash脚本修改/ etc / environment

寝室

目前,我正在尝试使我们在工作中使用的过程自动化。每当我们安装Oracle的JDK时,都需要手动将其添加到全局PATH变量中。这是该过程的摘录:

sudo vi /etc/environment
add this at the beginning of the PATH : "/opt/jdk1.6.0_45/bin:"

这是/etc/environment我计算机上的内容

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

修改后的外观如下:

PATH="/opt/jdk1.6.0_45/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

不要忘记此文件不是脚本,而是包含KEY = VALUES的文件。该文件存储系统范围的语言环境和路径设置。

我的问题是如何PATH/etc/environment不涉及任何手动操作的情况下(最好仅使用bash脚本)从中添加新路径到变量另外,如果我运行两次生成的脚本,我想避免看到我的JDK路径多次添加。

象征青蛙

您可以使用sed首先删除,然后插入jdk路径:

#!/bin/bash
sed -e 's|/opt/jdk1.6.0_45/bin:||g' -i /etc/environment 
sed -e 's|PATH="\(.*\)"|PATH="/opt/jdk1.6.0_45/bin:\1"|g' -i /etc/environment

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

源 /etc/environment 无法从 bash 脚本工作

来自分类Dev

修改/ etc / environment后无法登录

来自分类Dev

如何通过bash脚本将DNS插入/ etc / hosts?

来自分类Dev

/ etc / environment:/ root:权限被拒绝

来自分类Dev

如何在不重新登录的情况下从/ etc / environment重新加载变量?

来自分类Dev

如何在不重新登录的情况下从/ etc / environment重新加载变量?

来自分类Dev

如何在不重新启动的情况下重新加载/ etc / environment?

来自分类Dev

/ etc / environment和/ etc / profile之间有什么区别?

来自分类Dev

在/ etc / environment中设置LOG = 1

来自分类Dev

/ etc / environment中的转义哈希标记(#)

来自分类Dev

在/ etc / environment中设置LOG = 1

来自分类Dev

PATH变量未根据/ etc / environment更新

来自分类Dev

/ etc / environment未读入PATH变量

来自分类Dev

/ etc / environment文件未执行某些命令

来自分类Dev

如何修改“ /etc/bash.bashrc”?它是只读的吗?

来自分类Dev

防止安装后脚本修改/ etc / fstab

来自分类Dev

HISTTIMEFORMAT修改。在/etc/bash.rc或/ etc / profile中?

来自分类Dev

修改/ etc / profile linux

来自分类Dev

修改/ etc / hosts无效

来自分类Dev

/ etc / fstab修改问题

来自分类Dev

如何修改无效的“ / etc / sudoers”文件?

来自分类Dev

如何修改无效的“ / etc / sudoers”文件?

来自分类Dev

更改/ etc / environment不会影响我的环境变量

来自分类Dev

/ etc / environment来自哪个Debian软件包?

来自分类Dev

更改/ etc / environment不会影响我的环境变量

来自分类Dev

在/ etc / environment vs .profile中设置PATH变量

来自分类Dev

使用/ etc / environment设置系统范围的环境变量

来自分类Dev

在/ etc / environment中声明的PATH env var不继承?

来自分类Dev

/ etc / environment中的env var全局不可见?

Related 相关文章

  1. 1

    源 /etc/environment 无法从 bash 脚本工作

  2. 2

    修改/ etc / environment后无法登录

  3. 3

    如何通过bash脚本将DNS插入/ etc / hosts?

  4. 4

    / etc / environment:/ root:权限被拒绝

  5. 5

    如何在不重新登录的情况下从/ etc / environment重新加载变量?

  6. 6

    如何在不重新登录的情况下从/ etc / environment重新加载变量?

  7. 7

    如何在不重新启动的情况下重新加载/ etc / environment?

  8. 8

    / etc / environment和/ etc / profile之间有什么区别?

  9. 9

    在/ etc / environment中设置LOG = 1

  10. 10

    / etc / environment中的转义哈希标记(#)

  11. 11

    在/ etc / environment中设置LOG = 1

  12. 12

    PATH变量未根据/ etc / environment更新

  13. 13

    / etc / environment未读入PATH变量

  14. 14

    / etc / environment文件未执行某些命令

  15. 15

    如何修改“ /etc/bash.bashrc”?它是只读的吗?

  16. 16

    防止安装后脚本修改/ etc / fstab

  17. 17

    HISTTIMEFORMAT修改。在/etc/bash.rc或/ etc / profile中?

  18. 18

    修改/ etc / profile linux

  19. 19

    修改/ etc / hosts无效

  20. 20

    / etc / fstab修改问题

  21. 21

    如何修改无效的“ / etc / sudoers”文件?

  22. 22

    如何修改无效的“ / etc / sudoers”文件?

  23. 23

    更改/ etc / environment不会影响我的环境变量

  24. 24

    / etc / environment来自哪个Debian软件包?

  25. 25

    更改/ etc / environment不会影响我的环境变量

  26. 26

    在/ etc / environment vs .profile中设置PATH变量

  27. 27

    使用/ etc / environment设置系统范围的环境变量

  28. 28

    在/ etc / environment中声明的PATH env var不继承?

  29. 29

    / etc / environment中的env var全局不可见?

热门标签

归档