给Linux配置了环境变量,source /etc/profile 完成之后只在当前用户下起作用,切换用户后设置的环境变量竟然没有生效!重启后虽然生效了,但是想知道怎么回事。

找到了如下解答:

  假设你的用户为A, 登录系统时也登录为A, 则此时/etc/profile 里面的环境变量直接应用到A用户,然后打开命令行, 你就可以通过 echo $变量名 (不需要花括号)查到你想要的变量名 (包括/etc/profile 和 /home/A/.bashrc 里面设置的;

sudo su, 登录为root用户, 这个时候/etc/profile的环境变量是不会自动加载的(因为没经历过开机那段时间的一部分黑箱操作), 那这个时候你只能echo到/home/root/.bashrc里面的变量.
然后说运行脚本, 你要确保的是当前用户和你脚本的所有者是同一个(同为A 或同为root), 否则需要chmod xxx 脚本名( xxx代表权限程度, 具体改成多少我不懂, 所以都改成放权程度最高的 777), 才能使脚本被不同的用户调用, 然后就是要关注当前用户下的.bashrc里面是否有目标变量名, 没有的话就往相应用户的.bashrc里面添加. 如果当前用户是开机登陆的用户(就是看有没有自动加载过/etc/profile),那直接就有目标变量。

source /etc/profile 不起作用?的更多相关文章

  1. rvm 安装后的补充工作:source $HOME/.profile

    rvm安装后会在 $HOME/.bash_profile 文件追加一行代码: [[ -s "$HOME/.rvm/scripts/rvm" ]] && source ...

  2. source /etc/profile报错-bash: id:command is not found

    由于误操作导致 source /etc/profile 报错 -bash: id:command is not found 此时,linux下很多命令到不能能用,包括vi ls 等... 可以使用 e ...

  3. sudo source /etc/profile 提示找不到source命令

    今天修改了/etc/profile,需要用source一下,于是写入命令 sudo source /etc/profile 提示找不到source命令 改成    sudo . /etc/profil ...

  4. linux经常使用(一)linux 安装配置 jdk之 找不到安装文件文件夹及source /etc/profile 报unexpected end of file 错误 解决

    linux 安装配置 jdk 应该算是一个非常主要的东西.可是我到如今才自己第一次 正式安装.果然出现了问题.. 问题就是 安装之后 找不到 安装路径 ,进而没法配置环境变量. 现象例如以下: 提示 ...

  5. 解决linux下source /etc/profile关闭终端失效问题

    本来想配置环境变量的,看网上和博客上很多说改/etc/profile,然后source /etc/profile之后就可以永久保存使环境变量生效,但是终端一关闭,就环境变量就失效了,其他终端也用不了. ...

  6. [Deepin 15] sudo source /etc/profile 提示找不到 source 命令(切换到 root 用户:sudo su)

    在 Deepin/Ubuntu 系统 中,因为修改了下 配置文件,然后执行 source 命令重新加载配置文件,结果: sudo source /etc/profile 提示找不到 source 命令 ...

  7. Deepin系统关于每次启动终端都要输入source /etc/profile的问题

    关于每次启动终端都要输入source /etc/profile的问题 当我在Deepin系统中下载了node以及npm之后,我为了将node导入到系统文件,使用了以下命令sudo gedit ``/e ...

  8. 新终端必须source /etc/profile的解决办法,同时解决变色问题

    Linux环境变量文件 /etc/profile:在登录时,操作系 统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. /etc /enviro ...

  9. 转 linux 添加PHP环境变量,/etc/profile 不生效,每次都要 source /etc/profile

    http://shanhuxueyuan.com/news/detail/46.html 执行php -v 提示未找到命令,这是因为没有将php路径添加到环境变量 方法一:直接运行命令export P ...

随机推荐

  1. python实现四则运算题库

    #主函数(main.py) from generator import Ari_Expression from infixTosuffix import infix_to_suffix import ...

  2. 如何为k8s中的pod配置QoS等级?

    1.概述 本文介绍如何为pod分配特定的QoS等级. 我们知道,在k8s的环境中,通过使用QoS等级来做决定,在资源紧张的时候,将哪些的pod进行驱逐,或者说如何对pod进行调度. OK,话不多说,让 ...

  3. SQL Server内置的HTAP技术

    SQL Server内置的HTAP技术 目录 背景 SQL Server在OLAP上的发展 SQL Server的初代HTAP SQL Server逐渐增强的HTAP SQL Server列存总结 H ...

  4. 简单聊一聊Javascript中的模块化

    在面试中只要说到模块化的问题,多多少少总会问到这些,umd.amd.cjs.esm,可能听过其中一个两个,或者都听说过.接下来我们先简单了解一下他们到底是什么,又有什么样的区别呢. 最开始的时候,Ja ...

  5. 0x02 TeamViewer日志溯源

    1.环境部署 1.安装ubuntu_x64的deb安装包 2.打开TeamViewer 2.日志目录 1.通过图形应用找到日志文件 2.通过命令定位日志文件 find / -name "Te ...

  6. NOIP集训题目解析

    11.01 子段和 题目大意 给定一个长度为 \(n\) 的序列 \(a\) ,\(a_i=\{ -1,0,1 \}\) ,需要将 \(a\) 中的 \(0\) 变为 \(1\) 或 \(-1\) , ...

  7. VUE3 之 列表动画 - 这个系列的教程通俗易懂,适合新手

    1. 概述 老话说的好:可以为别人解决痛点的产品就是好产品. 言归正传,今天我们来聊聊 VUE 的列表动画. 2. 列表动画 2.1  列表中增加和删除元素 <style> .my-ite ...

  8. ArcScene数据与Sketchup数据的交互

    博主给大家介绍一下ArcScene数据与Sketchup数据的交互. 应用软件:ArcGIS10.2.Sketchup.Photoshop (1)利用Google earth影像采集小区主要建筑物.可 ...

  9. 如何在MySQL中增加一列

    如果想在一个已经建好的表中添加一列,可以使用诸如: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(255) not null; 这 ...

  10. 超详细GoodSync11.2.7.8单机、两个服务器之间的文件同步使用教程

    GoodSync安装教程 第一步:双机GoodSync_v11.2.7.8.exe文件 链接:https://pan.baidu.com/s/16FVater4f9vu07QiGGIK9A 提取码:b ...