Question: Are there any substitutes, alternatives or bash tricks for delaying commands without using `sleep`? For example, performing the below command without actually using sleep:

```
$ sleep 10 && echo "This is a test"

```

Answer: 
With `bash` builtins, you can do:

```
coproc read -t 10 && wait "$!" || true

```

To sleep for 10 seconds without using `sleep`. The `coproc` is to make so that `read`'s stdin is a pipe where nothing will ever come out from. `|| true` is because `wait`'s exit status will reflect a SIGALRM delivery which would cause the shell to exit if the `errexit` option is set.

In other shells:

`mksh` and `ksh93` have `sleep` built-in, no point in using anything else there (though they both also support `read -t`).

`zsh` also supports `read -t`, but also has a builtin wrapper around `select()`, so you can also use:

```
zmodload zsh/zselect
zselect -t 1000 # centiseconds

```

If what you want is schedule things to be run from an interactive shell session, see also the [`zsh/sched` module in `zsh`](http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fsched-Module).
A classic from the Land of Windows and Batches:

```
ping -c 11 localhost >/dev/null && echo "This is a test"

```