Apenas parte do script está sendo executada na inicialização

Apenas parte do script está sendo executada na inicialização

Tenho um script ( start_probing.sh) no /etc/init.dqual roda com sucesso na inicialização, porém, quando chamo outro script ( adapter_scan.sh) de dentro ele não roda. Porém, quando executo manualmente, start_probing.shtudo funciona normalmente. Espero start_probing.shalgum tempo antes de executar adapter_scan.shpara garantir que a wlan1interface esteja pronta, mas sem sucesso. Alguma sugestão?

Aqui estão os códigos para ambos os scripts:

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

adaptador_scan.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

O problema é que o ap_data.txtarquivo nunca é criado. o que estou perdendo?

Atualizar Então parece que sou um tolo.Essepost me fez perceber que executar meu script no login (em vez de na inicialização, o que deve ser levado muito a sério) é uma abordagem muito mais apropriada. Simplesmente colocando sh .../adapter_scan.shem minhas ~/.profilerealizações exatamente o que eu procurava.

Responder1

Verifique se o bit X (executar) está definido no script que você está tentando executar para o privilégio de usuário que precisa dele.

informação relacionada