That has been a bit of a puzzle for me.

When I try the following cronjobs individually:

```
* * * * * /bin/bash -c "readlink /proc/$$/exe >> /root/printenv"
* * * * * /bin/bash -c "readlink /proc/$PPID/exe >> /root/printenv"
* * * * * /bin/bash -c "readlink /proc/self/exe >> /root/printenv"
* * * * * /bin/bash -c "ps -h -o comm -p $$ >> /root/printenv"
* * * * * /bin/bash -c "echo $SHELL" >> /root/printenv

```

I get the following results respectively:

```
/bin/dash
/usr/sbin/cron
/bin/readlink
sh
/bin/sh

```

I can't seem to have it report `/bin/bash` in any circumstances when called from cron like that. 

In a direct cronjob `* * * * * /bin/bash -c "command"` how can I prove that "`command`" is being interpreted by `/bin/bash` (if it is) ?

**Answer for future references**:

Changing the double quote for a single quote returned the right shell:

`* * * * * /bin/bash -c 'readlink /proc/$$/exe >> /root/printenv'`

Returned:

`/bin/bash`

Thanks to all contributors to the answer below.