bash

linux bash скрипт -- исправляет ошибку permossions denied при развороте Symfony на localhost-e

Пример скрипта для обхода ошибки symfony появляющейся при работе на localhost-e после composer install/update. Описание ошибки здесь.

Данный скрипт даёт права на запись для группы в папку кэша Symfony ДО и ПОСЛЕ запуска композера:

function slc_update() {
    sudo chmod -R 775 ../'$1'
    composer update
    sudo  bash -c " chown -R www-data:www-data ../'$1'
    chmod -R 775 ../'$1'"
}

Аналогичную команду можно создать для composer install.

linux Время начала, окончания и продолжительность работы команды-- как измерить (bash, старт, завершение в терминале, дата)

Можно использовать такой формат):

START_DATE=`date` \
&& time            \
вашаКоманда              \
&& END_DATE=`date` \
&& echo  -e "Final info: \nStarttime: $START_DATE \nEndtime: $END_DATE"

Например (можно запустить за раз скопировав:

START_DATE=`date` \
&& time            \
ls -l              \
&& END_DATE=`date` \
&& echo  -e "Final info: \nStarttime: $START_DATE \nEndtime: $END_DATE"

linux bash echo \n Символ переноса строки (новая строка). Пример команды

Для переноса строки (инетрпретации символа) исползуйте флаг -e, например:

END_DATE=`date` && echo -e "Final info: \n endtime: $END_DATE"

linux Конвертировать tar.gz в .ZIP архив -- команда терминала (для всех файлов в папке, bash)

Делаем так:

  1. Переходим в папку (лучше создать отдельную, чтобы ничего не удалилось) где лежит наш архив .tar.gz (или много таких архивов).
  2. Копипастим вот такую команду (копируем целиком и вставляем в терминал):
    for f in *.tar.gz;\
    do rm -rf ${f%.tar.gz} ;\
      mkdir ${f%.tar.gz} ;\
      tar -zxvf $f  -C ${f%.tar.gz}  ;\
      zip -r ${f%.tar.gz}.zip ${f%.tar.gz}  ;\
      rm -rf ${f%.tar.gz} ;\
    done

Как это работает

Как она работает (для каждого файла .tar.gz на уровне папки запуска -- bash скрипт, использующий цикл):

gitbash merge (commit) Как изменить сообщение/закрыть текст

В gitbash (windows) Используется синтаксис vi:

  • Если вы хотите изменить стандартное сообщение:
    • переключитесь на англ. раскладку и нажмите i
    • измените сообщение
  • Сохранить измения/закрыть окно редактирования (сообщения merge commit-а):
    • Нажав Esc (переключитесь на анлийский)
    • Наберите три символа:
      :qw
      (что значит: w -- write, q -- quit, т.е "записать и выйти")
    • И нажмите Enter

bash: syntax error near unexpected token `newline'

bash: syntax error near unexpected token `newline'

Причина

Ошибка может возникать, если аргумент команды окружить угловыми скобками

Пример

Например так (ошибка):

 ./yii migrate/create <add_fileds_to_orgatization_section1>

в то время как надо так:

 ./yii migrate/create add_fileds_to_orgatization_section1

(пример из команды создания миграции для yii2)

Linux Shell - вчерашнее число - вывод даты пример скрипта

чтобы получить две последние цифры года следует использовать маленький "игрик"

YDATE=$(date --date="1 days ago" +"%y%m%d") # получаем вчерашнюю дату в нужном формате
echo $YDATE

Pages

Subscribe to RSS - bash