ubuntu下想要開(kāi)機(jī)啟動(dòng)如下腳本
1.腳本代碼
#!/bin/sh
sudo mount -t cifs //10.5.133.203/yangqj/liuyh /mnt/workspace -o user=yangqj,password=123456,rw,gid=1000,uid=1000
sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.5.133.254
sudo route del default
sudo route add default gw 192.168.101.1
2.添加到啟動(dòng)項(xiàng)
把腳本添加到/etc/rc.local的exit 0之前
sudo sh /home/flysea/setnet.sh
3.問(wèn)題是,腳本并沒(méi)有執(zhí)行帕膜?
接著百度蚀腿,網(wǎng)上有如下幾種方法
1.修改sh的軟鏈接 (失敗)
sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh
2.刪除rc.local里面的 -e (失敗)
#!/bin/sh -e
就是這個(gè) -e ,只要任何一條命令出錯(cuò),腳本就會(huì)停止執(zhí)行。
刪除 -e 命令就能繼續(xù)執(zhí)行。
3.最后才找到解決方案(成功)
在腳本中加入 一個(gè)sleep延時(shí)慨菱,
\#!/bin/sh
sleep 3
sudo mount -t cifs //10.5.133.203/yangqj/liuyh /mnt/workspace -o user=yangqj,password=123456,rw,gid=1000,uid=1000
sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.5.133.254
sudo route del default
sudo route add default gw 192.168.101.1
開(kāi)機(jī)執(zhí)行成功
具體的原因是:
rc.local默認(rèn)的執(zhí)行用戶是root,權(quán)限也是戴甩。killall -QUIT uwsgi是異步的符喝,中間要sleep 1,歇一秒甜孤,不然直接start會(huì)繼續(xù)被殺掉洲劣。