
시작 시 성공적으로 실행되는 스크립트( start_probing.sh
) 가 있는데, 그 안에서 /etc/init.d
다른 스크립트( )를 호출하면 실행되지 않습니다. adapter_scan.sh
하지만 수동으로 실행하면 start_probing.sh
모든 것이 정상적으로 실행됩니다. 인터페이스가 준비되었는지 확인하기 위해 start_probing.sh
실행하기 전에 잠시 기다립니다. 하지만 소용이 없습니다. 어떤 제안이 있으십니까?adapter_scan.sh
wlan1
두 스크립트의 코드는 다음과 같습니다.
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(실행) 비트가 설정되어 있는지 확인하세요.