Question: I am having difficulty running the below simple script from crontab:

```
#!/bin/bash
notify-send "battery.sh working"

```

The permissions of the file are `rwxr-xr-x` and its running fine with either of the commands `bash battery.sh` and `sh battery.sh`.

In my crontab, I have tried running it with both `bash` and `sh`, with absolute as well as local path. My current crontab looks as follows:

```
* * * * * /home/marpangal/battery.sh
* * * * * sh battery.sh
* * * * * bash battery.sh
* * * * * sh /home/marpangal/battery.sh
* * * * * bash /home/marpangal/battery.sh

```

However the cron does not execute the script and I get no message from notify-send.

Answer: 
It's not legit, but browsers are extremely forgiving and will still try to render something as best as they can, even if the HTML you give it is technically wrong.
What I do if I'm ever unsure if something is valid or not; I go to [W3C validator](https://validator.w3.org/) and input the html. As long as you input a full html file it will tell you if it's valid or not. :)

The website gives you three options for validating html:

1. Validate by URI (Just enter the webpage that you want to validate.
2. Validate by File Upload (upload the html file that you would like to validate.
3. Validate by Direct Input (Copy and paste or type the html code)

I usually do option 3 because I use PHP a lot, so I load the webpage then get the html after the scripting (right click -> view page source) then copy and paste that into the input box.