What is ` in a shell script?

I am new to shell programming. Can anybody tell me what does ` operator stands for in shell script.

and what is the significance of : in this piece of script

: ${username=`whoami`}

why shell interprets username as a command when I write this code without colon??

Thanks

As far as I know, the ` operator is used to get the value of a command result, you can assign it to a variable, for istance:

luke@luke-desktop:~$ a=`echo hello`
luke@luke-desktop:~$ echo $a
hello
luke@luke-desktop:~$ 

`command` is a somewhat archaic but still widely used way to do what $(command) does, i.e. substituting the whole by the output of command.

If you remove the colon which is the 'no op' shell instruction, you are asking the script to execute the result of whoami as a command, which is usually not the case and trigger an error unless your username is reboot which then will lead to interesting side effects ...

Thanks for the response.

But in the given piece of code:

dummy=''hello"
p=${dummy}

In this case , the shell interprets dummy to be a variable and assigns the value of dummy to p:

But when I look into this case :

${username=`whoami`}

here the shell interprets username to be a command. Why is it so?

Beware not confusing two single quotes with a double one.

Because you are executing an instruction which returns the assigned value.