分页: 1 / 2
[已解决]求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-01 9:19
由 123662981
如题,要做一个能够自动安装软件的shell脚本.
由于安装过程中电脑需要自动重启,这就需要使它能够自动继续安装在电脑重启完之后.
求助,大神帮帮我
Re: 求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-01 9:29
由 枫叶饭团
只能加启动项了?话说,我还没遇见过装软件会自动重启的?
Re: 求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-01 9:30
由 aerofox
在重启之前用脚本生成一个自动执行的脚本,在安装完成时删除那个自动执行的脚本。
Re: 求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-01 9:32
由 123662981
aerofox 写了:在重启之前用脚本生成一个自动执行的脚本,在安装完成时删除那个自动执行的脚本。
你意思是说把这个自动执行的脚本放在启动项里面么?等安装结束再把它删了?
Re: 求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-01 12:05
由 cao627
读取文件A语句
跟据文件内容
是XX
{
执行脚本重启之前部分
将YY写入覆盖文件A
将这个脚本文件设为开启自动执行
重启
}
是YY
{
执行重启后脚本部分
取消这个脚本文件开机自启动
删除文件A语句
}
Re: 求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-01 17:04
由 123662981
cao627 写了:读取文件A语句
跟据文件内容
是XX
{
执行脚本重启之前部分
将YY写入覆盖文件A
将这个脚本文件设为开启自动执行
重启
}
是YY
{
执行重启后脚本部分
取消这个脚本文件开机自启动
删除文件A语句
}
首先,谢谢你的回答.
当中有几点我不太清楚,可否赐教:
1.文件A是否指的是脚本?
2.如何将脚本设置为开启自动执行?(关键是放在那个系统配置文件内,例如~/.config/autotest/.desktop或者~/.bashrc)
Re: 求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-01 17:27
由 cao627
文件A是你手动创建的文件,内容先写入yes
以下是你脚本文件的逻辑:
读入文件A文件的内容
如果内容为yes{
执行启动动之前的语句
将文件A的内容改为no
将脚本文件设为开机自启动
重启
}
如果文件A内容为no{
执行启动之后的语句
取消脚本自启动
删除文件A
}
见笑了
Re: 求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-01 17:38
由 123662981
cao627 写了:文件A是你手动创建的文件,内容先写入yes
以下是你脚本文件的逻辑:
读入文件A文件的内容
如果内容为yes{
执行启动动之前的语句
将文件A的内容改为no
将脚本文件设为开机自启动
重启
}
如果文件A内容为no{
执行启动之后的语句
取消脚本自启动
删除文件A
}
见笑了

太厉害了,我的思路一下子清楚了.
那是不是也可以理解为:
直接在脚本一开始设置一个变量A=yes,然后在脚本执行到第1阶段时把A=no.
Re: 求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-01 17:47
由 cao627
变量重启后能保持不变吗?
脚本一开始设置一个变量A=yes
当重启后自动执行脚本文件
A又被yes赋
no分支永远执行能不到
Re: 求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-01 20:15
由 aerofox
123662981 写了:aerofox 写了:在重启之前用脚本生成一个自动执行的脚本,在安装完成时删除那个自动执行的脚本。
你意思是说把这个自动执行的脚本放在启动项里面么?等安装结束再把它删了?
我的意思是这样:把你的安装脚本程序分为两段,重启前执行的叫 setup1,重启后执行的叫 setup2,在 setup1 执行到要重启的地方:
代码: 全选
cp setup2 /etc/rc2.d/S90setup2
在 setup2 中执行到安装即将完成时:
代码: 全选
rm /etc/rc2.d/S90setup2
Re: 求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-02 13:52
由 naturalaw
Re: 求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-02 13:55
由 cao627
aerofox 我想问下?
脚本直接在/etc/rc2.d/ 就行吗,
这样的话setup2在它执行的时候能删除运行中的自己吗
代码: 全选
ln -s /etc/rc2.d/S90setup2 /path/setup2
还是必要的吧
这样的话脚本语句rm /etc/rc2.d/S90setup2
删除的是个链接而不是执行脚本本身
Re: 求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-02 16:32
由 aerofox
删除自己是没问题的,脚本运行时并不锁定脚本文件。
Re: 求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-02 19:56
由 cao627
Re: 求助:谁能告诉我当shell脚运行后,如何在电脑重启后继续
发表于 : 2012-04-04 22:08
由 123662981
谢谢各位的宝贵意见,明天回去会直接去试一下,希望能够成功!
