LINUX.ORG.RU

История изменений

Исправление KennyMinigun, (текущая версия) :

Смотря на оригинал поста (который в HTML сохранился): https://pic4a.ru/89/eMN.PNG

Видим, что ТС на самом деле спрашивал про

mkdir -p ${C_HOME}/build_info/c
: > ${C_HOME}/build_info/${J_NAME}_deploy_time
: > ${C_HOME}/build_info/${J_NAME}_version

Так вот

  1. Создаем директорию по пути ${C_HOME}/build_info/c. Причем ключ -p заставляет команду mkdir создать целую цепочку из директорий (если что-то в пути не существует). Также с ключем -p команда mkdir не выдает ошибок если директория уже существует. ${C_HOME} (а также ${J_NAME} — подстановка значения переменных (C_HOME, J_NAME - имена переменных). Чтоб проверить что подставится можешь прямо перед сией твоей конструкцией написать:
    echo "C_HOME = $C_HOME"
    echo "J_NAME = $J_NAME"
    
  2. Команда : в bash синоним команде true. Последняя абсолютно ничего не делает а только завершается с нулевым кодом возврата (=успех). Далее идет перенаправление STDOUT этой же команды в файл > ${C_HOME}/build_info/${J_NAME}_deploy_time. Поскольку true (aka :) ничего не выводит на STDOUT, то имеем только побочный эффект от перенаправления: файл создается (или пересоздается) и остается пустым
  3. То же самое что и в предыдущем пункте

Исходная версия KennyMinigun, :

Смотря на оригинал поста (который в HTML сохранятся): https://pic4a.ru/89/eMN.PNG

Видим, что ТС на самом деле спрашивал про

mkdir -p ${C_HOME}/build_info/c
: > ${C_HOME}/build_info/${J_NAME}_deploy_time
: > ${C_HOME}/build_info/${J_NAME}_version

Так вот

  1. Создаем директорию по пути ${C_HOME}/build_info/c. Причем ключ -p заставляет команду mkdir создать целую цепочку из директорий (если что-то в пути не существует). Также с ключем -p команда mkdir не выдает ошибок если директория уже существует. ${C_HOME} (а также ${J_NAME} — подстановка значения переменных (C_HOME, J_NAME - имена переменных). Чтоб проверить что подставится можешь прямо перед сией твоей конструкцией написать:
    echo "C_HOME = $C_HOME"
    echo "J_NAME = $J_NAME"
    
  2. Команда : в bash синоним команде true. Последняя абсолютно ничего не делает а только завершается с нулевым кодом возврата (=успех). Далее идет перенаправление STDOUT этой же команды в файл > ${C_HOME}/build_info/${J_NAME}_deploy_time. Поскольку true (aka :) ничего не выводит на STDOUT, то имеем только побочный эффект от перенаправления: файл создается (или пересоздается) и остается пустым
  3. То же самое что и в предыдущем пункте