当前位置:  技术问答>linux和unix

求解答:linux开机自动运行脚本的诡异问题

    来源: 互联网  发布时间:2016-12-14

    本文导语:  那再改一下,重新描述。 由于新移植了tslib,想让系统开机自动设置tslib的相关环境变量,写了一个脚本: #vi setenv.sh  export T_ROOT=/opt/tslib  export TSLIB_CONSOLEDEVICE=none  export TSLIB_FBDEVICE=/dev/fb  export TSLIB_TSDEVICE=/dev/i...

那再改一下,重新描述。

由于新移植了tslib,想让系统开机自动设置tslib的相关环境变量,写了一个脚本:
#vi setenv.sh

 export T_ROOT=/opt/tslib
 export TSLIB_CONSOLEDEVICE=none
 export TSLIB_FBDEVICE=/dev/fb
 export TSLIB_TSDEVICE=/dev/input/event0
 export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
 export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
 export TSLIB_CALIBFILE=opt/tslib/pointercal
 export LD_LIBRARY_PATH=$T_ROOT/lib:$LD_LIBRARY_PATH

并添加了可执行权限:
#chmod +x setenv.sh

经测试,执行source setenv.sh之后,环境变量生效。

# echo $T_ROOT
显示如下:
/opt/tslib

好了,诡异的现象开始了。
===============================================================================================
我将这段脚本写入/etc/init.d/rcS中,即在其最后添加下面红色的那一句。
#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel

#
#    Trap CTRL-C &c only in this shell so we can interrupt subprocesses.
#
/bin/mount -t proc none /proc
/bin/mount -t tmpfs none /tmp
/bin/mount -t tmpfs none /var

/bin/mkdir -p /var/log

/bin/hostname -F /etc/sysconfig/HOSTNAME
source /opt/setenv.sh 

reboot之后,查看echo $T_ROOT,没有生效。

于是我试着将
 export T_ROOT=/opt/tslib
 export TSLIB_CONSOLEDEVICE=none
 export TSLIB_FBDEVICE=/dev/fb
 export TSLIB_TSDEVICE=/dev/input/event0
 export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
 export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
 export TSLIB_CALIBFILE=opt/tslib/pointercal
 export LD_LIBRARY_PATH=$T_ROOT/lib:$LD_LIBRARY_PATH
直接加入到/etc/init.d/rcS中,如下所示:

#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel

 export T_ROOT=/opt/tslib
 export TSLIB_CONSOLEDEVICE=none
 export TSLIB_FBDEVICE=/dev/fb
 export TSLIB_TSDEVICE=/dev/input/event0
 export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
 export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
 export TSLIB_CALIBFILE=opt/tslib/pointercal
 export LD_LIBRARY_PATH=$T_ROOT/lib:$LD_LIBRARY_PATH

#
#    Trap CTRL-C &c only in this shell so we can interrupt subprocesses.
#
/bin/mount -t proc none /proc
/bin/mount -t tmpfs none /tmp
/bin/mount -t tmpfs none /var

/bin/mkdir -p /var/log

/bin/hostname -F /etc/sysconfig/HOSTNAME

再重启,还是没有生效。什么原因呢?

为了表明上面的脚本是执行的了,我又在/etc/init.d/rcS中的最后面加入了一句测试语句。
./opt/test

其中,opt/test是我写的hello world测试程序。reboot之后,在终端上显示hello world,而环境变量依然没有设置。

有图有真相:


求解答啊。

|
把这些写在/etc/profile里试试

|
会不会rcS执行完了就结束了
新的登录过程不会继承这个环境变量

像ls说的,加入/etc/profile

|
/etc/profile 修改后,所有用户均被修改
建议修改/home/xx/.bashrc 文件,只针对某用户有效,而不影响其他用户的使用

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我的java不能运行了,谁能帮我一把?在线等待,我是初学者,请解答得详细一点,谢谢!
  • gtk+编译没有问题,运行的时候出问题,就是这句gtk_widget_show_all(window);请各位帮忙解答,谢谢
  • 请路人甲来领分.谢谢你关于浏览器模态对话框的解答.
  • ChrisZhang(西楼明月),多谢你的解答。补送20分。
  • 一个奇怪的错误,请高手解答
  • 关于安装REDHAT9的几个问题,谢谢解答
  • 求高手解答菜鸟问题!!
  • gcc-plugin.h的问题,求解答。。。
  • 虚拟机里linux系统下输入l,k,m三个字母不能正常显示,求解答
  • 救命啊,高手解答,分不够再加
  • 一个相当实际的问题,希望来解答!
  • 紧急求援,限时解答(3小时内给分)
  • 大家都懒的回答我的吗?有人解答的话,送分100
  • 方法中的return()是返回到何处的,如何能获得,请解答
  • 有谁帮我解答一下?
  • 看看哪位高人能解答?
  • 新手关于Jbuilder6.0编辑器的光标定位使用问题,望高手解答
  • 真诚希望高手给予解答,关于UNIX扩展缓存的问题(100分相送)
  • 希望斑竹帮助解答!!在线等待
  • 能解答很多人疑问的好东西.
  • Redhat8.0中的乱码问题?(急需解答)
  • 简单的问题,请高手解答


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3