when I want to delay the execution of a program using at, it precise me that
warning: commands will be executed using /bin/sh
How the change this default shell, to bash for instance ?
when I want to delay the execution of a program using at, it precise me that
warning: commands will be executed using /bin/sh
How the change this default shell, to bash for instance ?
Please see this question that was posted on the Unix & Linux Stack Exchange. The first sentence says:
Under Linux, at always warns you that it will execute the specified commands with /bin/sh, rather than your favorite shell. You cannot suppress this message, it's hard-coded in the source code.
It also suggests a workaround:
The command you pass is interpreted by /bin/sh. This command can be the path to a script if you like; then /bin/sh will execute the script program, causing the script's interpreter to be launched and to interpret the script. The language of the script is completely independent of the program that starts it. So if for example you want to execute a bash script (i.e. a script that begins with #!/bin/bash), just pass the path to the script to at and ignore the irrelevant message.
So, to run your commands with bash instead of sh, you could pass a script to at. As long as the script has a shebang line, it will be executed by whatever program the shebang is pointing to. If you use #!/bin/bash, it will be executed by bash.