Ho il seguente script nella home directory di myuser
#!/bin/bash
# startup.sh
export HOST_IP=$(/bin/ip -4 addr show enp2s0 | /bin/grep -Po 'inet \K[\d.]+')
echo "Using HOST_IP=$HOST_IP"
e la seguente voce nel crontab del mio utente (non nel crontab di root)
@reboot /home/myuser/startup.sh > /home/myuser/restart.log 2>&1
Se eseguo il comando da solo vedo il seguente output
> ./startup.sh
Using HOST_IP=192.168.1.15
Ma se riavvio la macchina e poi ispeziono restart.log
vedo
> cat ./restart.log
Using HOST_IP=
Sto usando il percorso completo per i comandi ip
e grep
, quindi non capisco perché non ottengo alcun valore per la variabile di ambiente quando viene eseguita dal crontab?