exibindo o PID

0

Eu devo escrever um subscrito (chamado echomyvar) que exibe o PID do processo que está executando o script e o valor da variável chamada myvar. No texto tem:

$ cat echomyvar
echo The PID of this process is $$
echo The value of myvar is: $myvar

$ echo $$
2651

$ ./echomyvar
The PID of this process is 4392
The value of myvar is:

Consegui criar o arquivo echomyvar. Até agora eu tenho

#!/bin/bash
echo  'The PID of this process is $$'
echo  'The Value of myar is: $myvar'

Eu não sei se isso está correto. Eu devo reproduzir o que estava no texto e estou esperando por qualquer ajuda.

    
por python paradise 04.09.2017 / 00:52

1 resposta

3

O texto que você cita,

echo The PID of this process is $$
echo The value of myvar is: $myvar

é o script literal que gera o valor de $$ (o ID do processo do shell) e $myvar .

Produzirá a saída

The PID of this process is 4392
The value of myvar is:

(se o PID do shell for 4392).

Não é um exercício, é um exemplo, a menos que você deva produzir esse script como saída, mas duvido.

A utilidade echo produz cada um dos seus argumentos para a saída padrão (o terminal, neste caso). Usa-se normalmente como

echo 'some string'

ou

echo "some string with a $variable"

O uso de aspas simples no último exemplo evitaria que o shell expandisse $variable para seu valor. O uso de no aspas significa apenas passar múltiplos argumentos para echo .

Para que seja um exemplo bom , ele deve ter usado printf (já que está gerando dados variáveis):

printf 'The PID of this process is %d\n' "$$"
printf 'The value of myvar is: %s\n' "$myvar"
    
por 04.09.2017 / 08:07