为什么在shell开头要执行/home/XXX/.bash_profile

fengmingxing 2010-12-15 05:56:28
以下是SHELL的开头部分

#!/bin/bash
. /home/smssend/.bash_profile
...
...

是不是为了导入smssend的环境变量,但是我想如果在smssend的crontab中,是不是不需要执行这句话的。
小弟还是linux新手,希望各位大侠多多指教。
...全文
313 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wind_199 2010-12-15
  • 打赏
  • 举报
回复
就是为了设置/home/smssend/.bash_profile里的环境变量
如果你的脚本真依赖于/home/smssend/.bash_profile里设置的某些变量的
即使在smssend用户的crontab中执行 我也推荐你把这句加上。
太乙 2010-12-15
  • 打赏
  • 举报
回复
一般脚本需要什么变量,最好在脚本里直接export,否则,1来会有很多不必要的环境变量被定义,二来如果有别人修改了你的bash配置文件,那么你的这个脚本就可能受到影响。。。尽量少依赖
一品川 2010-12-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 steptodream 的回复:]
就是为了设置/home/smssend/.bash_profile里的环境变量
如果你的脚本真依赖于/home/smssend/.bash_profile里设置的某些变量的
即使在smssend用户的crontab中执行 我也推荐你把这句加上。
[/Quote]up
justkk 2010-12-15
  • 打赏
  • 举报
回复
在crontab中执行时,是不会自动读入用户的环境文件的。
所以如果在crontab中执行,必须脚本自己读入
steptodream 2010-12-15
  • 打赏
  • 举报
回复
就是为了设置/home/smssend/.bash_profile里的环境变量
如果你的脚本真依赖于/home/smssend/.bash_profile里设置的某些变量的
即使在smssend用户的crontab中执行 我也推荐你把这句加上。
freetstar 2010-12-15
  • 打赏
  • 举报
回复
对的!是要在当前shell中导入变量

19,613

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧