시작 시 스크립트의 일부만 실행됩니다.

시작 시 스크립트의 일부만 실행됩니다.

시작 시 성공적으로 실행되는 스크립트( start_probing.sh) 가 있는데, 그 안에서 /etc/init.d다른 스크립트( )를 호출하면 실행되지 않습니다. adapter_scan.sh하지만 수동으로 실행하면 start_probing.sh모든 것이 정상적으로 실행됩니다. 인터페이스가 준비되었는지 확인하기 위해 start_probing.sh실행하기 전에 잠시 기다립니다. 하지만 소용이 없습니다. 어떤 제안이 있으십니까?adapter_scan.shwlan1

두 스크립트의 코드는 다음과 같습니다.

start_probing.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(실행) 비트가 설정되어 있는지 확인하세요.

관련 정보