У меня есть файл .bashrc в корне моего сервера, и внутри него есть некоторые функции

Например,

Функция mysqldumpSafe {добавляет пользователя, пароль и дампы}

в командной строке Ubuntu. Как запустить этот «mysqldumpSafe» для выполнения функции?

[ 115] вопрос о супер нубе ...

мой файл .bashrc

function cleanStatic {

    rm -rf ~/public_html/pub/static/frontend ~/public_html/pub/static/adminhtml ~/public_html/pub/static/_cache ~/public_html/pub/static/deployed_version.txt;

    rm -rf ~/public_html/var/view_preprocessed;

    php ~/public_html/bin/magento cache:flush full_page;

}



function cleanAll {

    rm -rf ~/public_html/pub/static/frontend ~/public_html/pub/static/adminhtml ~/public_html/pub/static/_cache ~/public_html/pub/static/deployed_version.txt;

    rm -rf ~/public_html/var/view_preprocessed;

    php ~/public_html/bin/magento cache:flush;

    redis-cli -h redis flushall;

    curl -X 'PURGE' -H'X-Magento-Tags-Pattern: .*' varnish;

}



function deployAll {

    php ~/public_html/bin/magento setup:di:compile;

    php ~/public_html/bin/magento setup:static-content:deploy -s standard;

    }



function deploySafe {

    php ~/public_html/bin/magento maintenance:enable;

    cleanAll;

    deployAll;

    php ~/public_html/bin/magento maintenance:disable;

}

Файл bash находится на один каталог выше public_html, но когда я нахожусь в общедоступном html, я могу запустить основные команды bin, такие как as: php bin/magento cache:clean

, но так как эти пользовательские команды bash содержат 3 команды в одной ... я хотел выяснить, как их использовать.

0
задан 25 April 2019 в 03:13

2 ответа

Файл .bashrc зависит от пользователя, поэтому, если вы хотите использовать функцию, вам нужно переключить свою оболочку на пользователя root через

sudo -i

. Вы получите интерактивное приглашение bash, и в этот момент должен иметь возможность использовать эту функцию

0
ответ дан 25 April 2019 в 03:13

https://linuxize.com/post/bash-functions/ подробно объясняет bash функции.

В общем, чтобы запустить вашу функцию, просто откройте терминал bash, введите имя функции (mysqldumpSafe в вашем случае), затем любые аргументы (через пробел) и нажмите Enter.

0
ответ дан 25 April 2019 в 03:13

Другие вопросы по тегам:

Похожие вопросы: