linux使用 source etc/profile
linux中的source etc/profile
背景
在生产环境使用arths heapdump 文件的时候,出现在root权限下使用
java -jar arthas-boot.jar
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y10TjMi3-1588001939903)(01EF156FEEDD45F99CCB991E54CC6A38)]
我们可以看到不在root权限下启动arths 是监控不到他的Java进程的,于是我切换root权限,再启动arthas,但是此时使用java -jar命令没有生效。这个时候我使用了
source /etc/profile
这个时候再去在root 权限下启动于是就成功启动了
1. 为什么没有在使用source /etc/profile 命令前使用java命令不能生效呢?
- 当时我的第一反应是root权限下没有安装jdk?但是再一想这要是没有装 我的正在跑的java程序那是见了鬼了。再想想奥环境变量,不同的用户拥有不同的环境变量。好像的确是那么会事。于是打算进行入jdk的安装目录搞一波。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rmGzHWrT-1588001939910)(E702A70BA6404D91AFF5A4306C1014C6)]
直接使用jdk自带的内存监控吧。 - 怎样直接就可以同步用户之间的环境变量呢?,面向搜索编程搞起 于是source 搞起
2. source /etc/profile 的作用是什么呢?
- 先看一下profile底下放的是什么
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F0dCxXnl-1588001939915)(817E2EC87AFE4EF9B3C8CC7D64D3DE78)] - 用来干什么的呢?
看了上面文件奥path了什么的 profile(/etc/profile),用于设置系统级的环境变量和启动程序,在这个文件下配置会对所有用户生效。当用户登录(login)时,文件会被执行,并从/etc/profile.d目录的配置文件中查找shell设置。那这下我们一下子就清楚了
3. 延伸一下source的命令
1. 在当前bash环境下读取并执行FileName中的命令。
*注:该命令通常用命令“.”来替代。
source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。
同样的,当前脚本中配置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文档,如 .bash_profile 和 .profile 等等。
例如,假如在登录后对 .bash_profile 中的 EDITER 和 TERM 变量做了修改,则能够用source命令重新执行 .bash_profile 中的命令而不用注销并重新登录。比如您在一个脚本里export $KKK=111 ,假如您用./a.sh执行该脚本,执行完毕后,您运行 echo $KKK,发现没有值,假如您用source来执行 ,然后再echo,就会发现KKK=111。因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是source不同他就是在本shell中执行的,所以能够看到结果。
2. source命令的一个妙用
在编译核心时,常常要反复输入一长串命令,如
make mrproper
make menuconfig
make dep
make clean
make bzImage
.......
这些命令既长,又繁琐。而且有时候容易输错,浪费你的时间和精力。如果把这些命令做成一个文件,让它自动按顺序执行,对于需要多次反复编译核心的用户来说,会很方便。
用source命令可以办到这一点。它的作用就是把一个文件的内容当成是shell来执行。
先在/usr/src/linux-2.4.20目录下建立一个文件,取名为make_command,在其中输入如下内容:
make mrproper &&
make menuconfig &&
make dep &&
make clean &&
make bzImage &&
make modules &&
make modules_install &&
cp arch/i386/boot/bzImge /boot/vmlinuz_new &&
cp System.map /boot &&
vi /etc/lilo.conf &&
lilo -v
文件建立好之后,以后每次编译核心,只需要在/usr/src/linux-2.4.20下输入source make_command 就行了。这个文件也完全可以做成脚本,只需稍加改动即可。
shell编程中的命令有时和C语言是一样的。&&表示与,||表示或。把两个命令用&&联接起来,如 make mrproper && make menuconfig,表示要第一个命令执行成功才能执行第二个命令。对执行顺序有要求的命令能保证一旦有错误发生,下面的命令不会盲目地继续执行。
参考文章:https://blog.csdn.net/violet_echo_0908/article/details/52056071
linux使用 source etc/profile相关推荐
- 解决linux下source /etc/profile关闭终端失效问题
本来想配置环境变量的,看网上和博客上很多说改/etc/profile,然后source /etc/profile之后就可以永久保存使环境变量生效,但是终端一关闭,就环境变量就失效了,其他终端也用不了. ...
- linux下使用source /etc/profile保存配置后,新的环境变量只能在一个终端里面有效
博客园 首页 新随笔 联系 管理 订阅 <div class="blogStats"><!--done--> 随笔- 6 文章- 2 评论- 2 < ...
- linux 重读环境变量,关于linux中使用source /etc/profile重新读取配置后,新的环境变量只能在当前终端里面有效,新开的终端提示 command not found...
文章目录 问题 知识点 问题分析及解决 补充 问题 在使用linux桌面环境(通常是ubuntu/debian/deepin等版本的linux)的时候,新增环境变量后,会使用source /etc/p ...
- Linux每次开机都要source /etc/profile的解决方法
概述 前两天安装了go,然后在/etc/profile里加了环境变量,当时source之后也没发现什么问题,然后关机之后重启就发现环境变量竟然没有生效.还得使用source命令,吐血 解决方法 在用户 ...
- linux下使用source /etc/profile保存配置后,新的环境变量只能在一个终端里面有效...
2019独角兽企业重金招聘Python工程师标准>>> 问题: 在/etc/profile中添加环境变量后,是使用source /etc/profile编译后只能在当前终端生效 重新 ...
- 每次执行java命令 都要source_解决每次执行Java等命令时都要重新source /etc/profile后才能执行,否则找不到命令...
linux mint 我们通常将环境变量设置在/etc/profile这个文件中,这个文件是全局的. /etc/profile:在登录时,操作系 统定制用户环境时使用的第一个文件 ,此文件为系统的每个 ...
- 关于source /etc/profile命令
在linux下安装海思交叉编译工具的时候,碰到个问题,本来提示安装成功了,但是在用makefile编译库的时候,仍然提示找不到交叉编译工具链: make:arm-vfp-uclibc-linux-gn ...
- 每次重启需要source /etc/profile的原因-环境变量
linux主机每次重启后,所有配置的变量均失效: 需要source /etc/profile 命令才有效 原因: 缺少$PATH部分(红圈圈) 可以想想 系统先加载/etc/profile 然后再加载 ...
- linux下source命令使用详解
这篇文章主要为大家详细介绍了Linux Source命令及脚本的执行方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Linux Source命令及脚本的执行方式解析 当我修改了/etc/pro ...
最新文章
- CSS之定位(定位/相对定位)
- 英语和汉语谁更高效?17大主流语言测试结果:没有优劣之分,带宽都是每秒39bit...
- php date时间本地化问题
- 复习--3--对于第三堂课的总结--将两个页面相互用超链接链接到一起
- wxWidgets:显示如何从 DLL 使用 wx 的示例
- python多维数据post给php_使用Python中的POST将数据发送到PHP
- linux on android分区,android 分区大小 地址查看
- 犹如“狼来了”!折叠屏手机Galaxy Fold可能下月上市
- 5件你可能不知道可以使用 CSS-in-JS 来做的事情
- mvc html 辅助方法,MVC HTML辅助类常用方法记录
- 在Java代码(非JSP及Action,Servlet,Controller)中获得WebRoot的物理路径
- python 线程(创建2种方式,锁,死锁,递归锁,GIL锁,守护进程)
- 主成分分析(PCA)实现代码
- 自适应漫画手机APP应用下载页源码
- Firefox Focus 9.0 将新增广告拦截插件
- smartupload功能介绍
- Matlab 绘图函数之plot、semilogx、semilogy、loglog函数的使用
- 每日新知——MySQL索引类型及创建
- 轻松禁止自动更新FLASH插件有绝招
- 搜索引擎SEO 入门学习摘要笔记