Шеф-повар, в дополнение к он - основная цель развертывающегося программного обеспечения и конфигурации, также случайно поддерживает базу данных точно информации, которую Вы ищете об аппаратных средствах на всех его клиентах.
Если Вы хотите получить эту информацию от клиента Шеф-повара, не имея дело с сервером Шеф-повара, и затем агрегировать информацию посредством некоторого другого процесса, то то, что Вы хотите, является Ohai, который производит, производит что-то вроде этого: https://gist.github.com/sparr/5265567
В команде:
echo "!$"
! $
расширяется bash
перед передачей в echo
. Внутри двойных кавычек , если включено, раскрытие истории будет выполняться, если вы не выйдете из !
с использованием обратной косой черты \
. bash
выполнил расширение, echo
здесь ничего не делает, он просто выводит то, что получил.
! $ относятся к последнему аргументу предыдущей команды, который представляет собой строку '! $'
.
Во втором примере:
$ echo '!$'
!$
$ echo "!echo "!$""
echo "echo '!$' "'!$'""
echo '!$' !$
Команда echo "echo '! $'" '! $' ""
, аргументы, переданные в echo
, разделены на три части:
"echo '! $'"
, расширяется до строки echo '! $'
. '! $'
, расширяется до строки ! $
. ""
, раскрывается в пустую строку. echo
просто итературирует свои аргументы и посылает их в стандартном варианте.
Вся магия выполняется оболочкой: Оболочка подменяет некоторые паттерны другими, такими как переменные ( начиная с $
), история (начиная с !
) и т.п.
Смотрите руководство bash
для более детального изучения.