Текст, который вы цитируете,
echo The PID of this process is $$
echo The value of myvar is: $myvar
является буквальным скриптом, который выводит значение $$
(идентификатор процесса оболочки) и $myvar
.
Он будет производить выход
The PID of this process is 4392
The value of myvar is:
(если PID оболочки составляет 4392).
Это не упражнение, это пример, если только вы не должны производить этот сценарий в качестве выходных данных, но я сомневаюсь в этом.
Утилита echo
выводит каждый из своих аргументов на стандартный выход (в данном случае терминал). Обычно его используют, как
echo 'some string'
или
echo "some string with a $variable"
Использование одинарных кавычек в последнем примере помешало бы оболочке расшириться $variable
до своего значения. Использование кавычек noпросто означает передачу нескольких аргументов в echo
.
Чтобы это был пример good, он должен был использовать printf
(поскольку он выводит переменные данные):
printf 'The PID of this process is %d\n' "$$"
printf 'The value of myvar is: %s\n' "$myvar"
Связано: