source命令的问题

Michael_Xin_CV 2012-11-21 06:20:43
在ubuntu下写了个shell脚本安装sun的jdk,脚本的最后是用source命令使/etc/profile生效,可是在脚本运行完,profile还是没有生效;在控制台下手工运行source命令却能成功
请问怎么在shell文件中用source命令使/etc/profile生效?
...全文
1023 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangwenwen 2012-11-27
  • 打赏
  • 举报
回复
在启动你程序的shell脚本中,启动前source /etc/profile
fdl19881 2012-11-26
  • 打赏
  • 举报
回复
引用 6 楼 bayougeng 的回复:
引用 5 楼 fdl19881 的回复:引用 4 楼 bayougeng 的回复:你可以将java_home/bin下的可执行文件ln到/usr/bin里面去。不改path也是可以的。 要想改path的话,不重新登录还真不好搞 这个可能有问题吧,因为你这样只是能直接执行程序了,相当于不用改动PATH变量。 但还有别的环境变量如CLASSPATH未设置,可能会影响使用……
好吧,这个就不清楚了哈。不怎么用java.
bayougeng 2012-11-26
  • 打赏
  • 举报
回复
引用 5 楼 fdl19881 的回复:
引用 4 楼 bayougeng 的回复:你可以将java_home/bin下的可执行文件ln到/usr/bin里面去。不改path也是可以的。 要想改path的话,不重新登录还真不好搞 这个可能有问题吧,因为你这样只是能直接执行程序了,相当于不用改动PATH变量。 但还有别的环境变量如CLASSPATH未设置,可能会影响使用。
CLASSPATH不是必须的,指定java.exe之后,这个默认值是不用设置的。如果你要指定自己的classpath,则需要在启动java的时候显示的指定这个参数。
bayougeng 2012-11-23
  • 打赏
  • 举报
回复
你可以将java_home/bin下的可执行文件ln到/usr/bin里面去。不改path也是可以的。 要想改path的话,不重新登录还真不好搞
fdl19881 2012-11-23
  • 打赏
  • 举报
回复
引用 4 楼 bayougeng 的回复:
你可以将java_home/bin下的可执行文件ln到/usr/bin里面去。不改path也是可以的。 要想改path的话,不重新登录还真不好搞
这个可能有问题吧,因为你这样只是能直接执行程序了,相当于不用改动PATH变量。 但还有别的环境变量如CLASSPATH未设置,可能会影响使用。
fdl19881 2012-11-21
  • 打赏
  • 举报
回复
没有好的方法
Michael_Xin_CV 2012-11-21
  • 打赏
  • 举报
回复
引用 1 楼 fdl19881 的回复:
终端下运行脚本时,相当于又开了个子进程运行此脚本 。source后改变的环境变量只对此子进程有效。 所以直接在此终端下用source命令后,对此终端有效 重启一切都OK.
哦 那么有什么办法能让脚本对父进程有效吗?
fdl19881 2012-11-21
  • 打赏
  • 举报
回复
终端下运行脚本时,相当于又开了个子进程运行此脚本 。source后改变的环境变量只对此子进程有效。 所以直接在此终端下用source命令后,对此终端有效 重启一切都OK.

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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