Только потому, что в некоторых поисках Google этот показатель относительно высок, я добавлю этот ответ.
Если вы поместите `` вокруг команды, то вывод будет перенаправлен в строку, которая, если сама по себе, будет выполнена как команда.
Например, это будет запускать 'echo 3':
`echo "echo 3"`
Также это может работать с несколькими слоями, например:
``echo "echo echo 3"``
Выводит эхо «3», потому что первое эхо дает «эхо эхо 3», которое запускает другое эхо, которое дает «эхо 3», которое выполняется.
Я всегда использую `` вместо $ () или | sh / | bash, потому что лично я считаю, что внутри скриптов это выглядит чище. Но он работает почти так же, как $ () (я не верю, что есть какие-то различия, но они могут быть незначительными).
Одна из вещей, которую вы можете делать с $ () и ``, которую вы не можете делать с | Bash присваивает переменные. Вы можете сохранить вывод и затем выполнить его позже:
azdefvar="`COMMAND_THAT_OUTPUTS_COMMAND`"
Вот пример:
daboross@DaboUbuntu:~$ date +%T
13:09:20
daboross@DaboUbuntu:~$ azdef="`echo "date +%T"`"
daboross@DaboUbuntu:~$ echo $azdef
date +%T
daboross@DaboUbuntu:~$ $azdef
13:09:45
daboross@DaboUbuntu:~$ echo $azdef | bash
13:09:53
Вы можете использовать $ () вместо `` в любом из этих случаев.
Клавиша `находится прямо под клавишей esc на большинстве клавиатур.