Since the import lines in python can take several seconds (in Raspberry Pi), it’s better to just use a simple bash when trying to do simple stuff.
In bash scripts, I often see /dev/null but never really sure what it’s used for.
Also, there’s a lot of different > like 2>/dev/null or &> /dev/null or > /dev/null 2>&1 etc.
/dev/null is basically a way to suppress output. 1 refers to stdout, and 2 refers to stderr. Basically &> /dev/null a new syntax for > /dev/null 2>&1.
Example:
lsby itself will show the result in terminalls 1> /dev/nullwill not show the result in terminalls 2> /dev/nullwill show the result in terminalls &> /dev/nullwill not show the result in terminalls -0 1> /dev/nullwill show the error in terminalls -0 2> /dev/nullwill not show the error in terminalls -0 &> /dev/nullwill not show the error in terminal
echo $? is a neat way to get the result of previously executed command, 0 when succeeded, and 1 when failed.
Example:
ping -c 1 google.com &> /dev/null; echo $?will print out 0 if the ping succeeded.
Another useful thing when debugging a script run with cron is to echo to journal. By echo 'Debug' | /usr/bin/systemd-cat we can see the echoed line in journalctl -f. And do not to forget to add #!/bin/bash at the beginning of the bash script file.