Do you know the difference between $@ and $# ?

Simple.

$# gives you the quantity of parameters you passed on to script.

$@ gives you all the parameters you passed on to script.

Remarks: If you pass parameters enclosed by quotes [e.g: “1 2 3 4”] it will return 1 as total of parameters.

Example:

#!/bin/bash

echo 'Echo $#': $#
echo 'Echo $@': $@

Run it passing 1 2 3 4 5 as parameters:

[root@random Desktop]# ./testparam.sh 1 2 3 4 5
Echo $#: 5
Echo $@: 1 2 3 4 5

Now run it passing “1 2 3 4 5” as parameters:

[root@random Desktop]# ./testparam.sh "1 2 3 4 5"
Echo $#: 1
Echo $@: 1 2 3 4 5

Sometimes they’re useful. You never know.

Um pensamento sobre “Do you know the difference between $@ and $# ?

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s