先前写了个程序, 作为开机自动运行的, 但因种种原因, 程序一运行就报段错误, 只有重装系统或是用光盘启动系统删除自动启动项了.但这么做太麻烦了, 于是想到DOS系统有个F8键, 启动可以选择启动项.
为了实现类似DOS在启动时按F8键可以单步启动, 以选择启动项的功能, 我修改了启动脚本 /etc/rc.d/rc.local:
方法1
#!/bin/bash
#2秒内没有输入y + 回车就自动运行程序,否则不执行
read -t 2 arg
case $arg in
y)
exit 1
;;
*)
;;
esac
./要自动执行的程序
-----------
方法2
对应 read -t 2 arg 有点解释器可能不认
换一个方法:
old_stty=`stty -g`
stty -icanon min 0 time 20 #2秒
eval read arg
stty "$old_stty"
case $arg in
...
-------------
第一种方法相对容易些,第二种适应性更强些。