linux如何查看某环境变量在哪个文件中配置以及crontab不执行问题

 

环境变量设置一般是系统用户环境变量和用户环境变量,相关配置文件如下:

/etc/profile全局用户,应用于所有的Shell。/$HOME/.profile当前用户,应用于所有的Shell。/etc/bash_bashrc全局用户,应用于Bash Shell。~/.bashrc局部当前,应用于Bash Sell

如果只是程序软件的临时环境变量设置,那么就需要在软件所在目录执行如下语句

find  .  -name "*.*" xargs grep "test"

上述信息请用查找的变量信息来替换test

linux启动后环境变量加载的顺序为:etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc]

本人写了一个shell脚本,里面有sqlplus,发现手动执行会有跑到sqlplus但是放到crontab里面不执行sqlplus,但是shell会跑。后面我在shell脚本上设置了环境变量,最终执行,因为crontab不一样,它本身没有环境给你运行,所以需要手动添加环境:

source /etc/profile
#source ~/.bash_profile
. ~/.bash_profile

其中主要要看下面的环境变量是在哪个文件中就加载引用哪个文件

扫描二维码关注公众号,回复: 11134317 查看本文章

source  ~/.bash_profile和. ~/.bash_profile都可以用

export PATH=/myweb/instantclient_12_2:$PATH

export LD_LIBRARY_PATH=/myweb/instantclient_12_2:$LD_LIBRARY_PATH

注意:是在#!bin/bash的上面,而不是下面,否则运行不了。另外这里只写一个也应该是可以的,可以自己试试。

发布了81 篇原创文章 · 获赞 109 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/ooooooobh/article/details/97623063