HELP!为什么启动和关机时就不运行呢?

sh/bash/dash/ksh/zsh等Shell脚本
回复
lzr19870207
帖子: 2
注册时间: 2008-10-05 0:05
送出感谢: 0
接收感谢: 0

HELP!为什么启动和关机时就不运行呢?

#1

帖子 lzr19870207 » 2008-12-08 10:38

自己试着写了一个shell脚本,本要测试时成功。但不能实现在开机和关机时运行。重启过N次了。。至今失败 :em20

1. /etc/init.d/下
新建了两个脚本 run_when_start 和 run_2minutes_later
2. 在/etc/rc5.d下建了一个链接到run_when_start.取名为S99run_when_start
在/etc/rc0.d下建了一个链接到run_when_start.取名为K99run_when_start
3.run_2minutes_later执行实际作业
代码为:

代码: 全选

#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
          echo "mount">>/home/lzr/桌面/my_logs
 
         
                a=`mount -l|grep /dev/sda1|awk '{print $3}'`
               echo $a >>/home/lzr/桌面/my_logs
           if [ -z $a ] ;then
               echo "havn't mount"  >>/home/lzr/桌面/my_logs
               if [ ! -e /media/C ];then
                 sudo mkdir /mdiea/C
               fi
               sudo  mount -t ntfs-3g -o rw /dev/sda1 /media/C
               mount_locate="/media/C"
           else
               echo "have mounted"  >>/home/lzr/桌面/my_logs
              mount_locate=$a
           fi
 
              if [  -e /home/lzr/桌面/win桌面 ];then
                rm /home/lzr/桌面/win桌面
              fi
      mount_whole_locate=$mount_locate'/Documents and Settings/Administrator.LZR/桌面'
 
       ln -s "$mount_whole_locate"  /home/lzr/桌面/win桌面
4. run_when_start代码为:

代码: 全选

#!/bin/sh
#/dev/sda1是否已挂载,如果已挂载,得到挂载位置
PATH=/sbin:/bin:/usr/sbin:/usr/bin
load_c() {
   at $time +2 minutes -f /etc/init.d/run_2minutes_later
}
 
case "$1" in
    start)
             
               #开机2分钟后运行run_2minutes_later
              time=`uptime |cut -c 2-6`
              echo $time >>/home/lzr/桌面/my_logs
               load_c
           ;;
    stop)
         
       a=`mount -l|grep /dev/sda1|awk '{print $3}'`
       echo $a  >>/home/lzr/桌面/my_logs
 
      if [  -e /home/lzr/桌面/win桌面 ];then
          rm /home/lzr/桌面/win桌面
      fi
 
     if [ -z $a ] ;then
       echo "havn't mount"  >>/home/lzr/桌面/my_logs
     else
       echo "have mounted"  >>/home/lzr/桌面/my_logs
       sudo umount $a
       
     echo "umount" >> /home/lzr/桌面/show  
   fi
        ;;
 
     
    *)
        echo "Usage: /etc/init.d/run_when_start {start|stop}"
        exit 1
        ;;
esac
exit 0

5. 测试时代码没问题
lzr@lzr-desktop:~/桌面$ /etc/rc5.d/S99run_when_start start
warning: commands will be executed using /bin/sh
job 40 at Sun Dec 7 22:44:00 2008


:em06 :em06 :em06
grdxyxy
帖子: 229
注册时间: 2007-07-14 22:39
送出感谢: 0
接收感谢: 0

Re: HELP!为什么启动和关机时就不运行呢?

#2

帖子 grdxyxy » 2008-12-14 0:13

不知道你的是什么原因。不过debian默认的runlevel是2。你可以用runlevel命令查看。
回复

回到 “Shell脚本”