啟動時僅執行部分腳本

啟動時僅執行部分腳本

我有一個腳本 ( start_probing.sh),/etc/init.d在啟動時成功運行,但是,當我adapter_scan.sh從內部呼叫另一個腳本 ( ) 時,它不會運行。不過,當我手動運行時,start_probing.sh一切都正常運行。在start_probing.sh執行之前我等待了一段時間adapter_scan.sh以確保wlan1介面已準備好,但沒有效果。有什麼建議麼?

以下是兩個腳本的程式碼:

開始探測.sh

echo $(date) >> /home/pi/reboot.txt  
sleep 1m && watch -n 20 sudo /home/pi/adapter_scan.sh & PROC=$! ; sleep 120s ; KILL $PROC

適配器掃描.sh

#!/bin/bash  
fname="ap_data.txt"
save_path="/home/pi/data/$fname"  
interface="wlan1"  

echo "[x] $(date):" >> $save_path  
sudo iwlist $interface scanning |\  
egrep "Signal level|ESSID" |\  
sed -e "s/\"ESSID://" |\  
sed 's/^.*Signal/Signal/' |\  
 paste -s -d' \n' |\  
  sed -e 's/\(Signal\|level=\)//g' |\  
   sed -e 's/^[ \tESSID:]*//' |\  
    sort >> $save_path  
     echo "~" >> $save_path  
      cat $save_path

問題是該ap_data.txt文件從未創建。我缺什麼?

更新 所以看來我是個傻子。帖子讓我意識到讓我的腳本在登入時執行(而不是在啟動時執行,應該非常認真地對待)是一種更合適的方法。只需將我所追求的完全投入sh .../adapter_scan.sh其中~/.profile即可。

答案1

檢查以確保您在嘗試執行的腳本上設定了 X(執行)位,以獲得需要它的使用者權限。

相關內容