Geral
O uso básico de $ como em $USER
é dizer ao shell que você está falando de uma variável de shell.
Veja man bash
e vá até (ou pule para)
-
Special Parameters
-
EXPANSION
-
Parameter Expansion
Mas pode ser um pouco difícil digerir as descrições em man bash
. Você pode achar mais fácil ler algum tutorial , que você pode encontrar pela Internet, por exemplo
Exemplos
A variável shell deve ser definida (geralmente no shell ou especificamente por você). Por exemplo USER
é uma variável geral, mas subnet
não está definido no meu computador, então eu teria que declará-lo,
subnet="some-text-or-number-string"
Então, ele pode ser visto por
echo "$subnet"
e usado em outros comandos (como você deseja usá-lo).
IP
não está definido no meu computador, mas as variáveis padrão usam letras maiúsculas, por isso é uma boa ideia usar letras minúsculas para suas próprias variáveis para evitar conflitos.
ip=192.168.0.2
Você pode verificar isso com
echo "$ip"
e remova-o com
unset ip
Adicionando exemplos de acordo com as dicas de @Terrance e @ Jo-ErlendSchinstad
O comando que você está procurando com nmap
pode ser feito com ip route
da seguinte forma:
nmap -sP $(ip route | grep kernel | awk '{print $1}')
em que $(a command line)
permite usar a [padrão] saída de uma linha de comando no contexto do shell, explicado com o seguinte exemplo mais simples,
myusername=$(whoami)
Que pode ser visto por
echo $myusername
Uma calculadora simples para inteiros é criada com parênteses duplos, assim,
$ echo $((1+2))
3
$ r=5
$ area=$((r**2 * 314 / 100))
$ echo "the circle's area is approx. = $area"
the circle's area is approx. = 78