Я использую letsencrypt для генерации SSL-сертификатов для моего сайта, точнее, letsencrypt_webfaction. Когда я запускаю эту команду в моем проекте, она работает
letsencrypt_webfaction --letsencrypt_account_email <Email I use> --domains <domains I use> --public <public_file> --username <username> --password <password>
Однако, когда я запускаю ту же команду в скрипте bash, я получаю сообщение об ошибке
generate_certificate.sh: line 2: letsencrypt_webfaction: command not found
Я удостоверился, что у меня есть все возможные разрешения для сценария bash, используя chmod 777 generate_certificate.sh, но все еще ничего. Вдобавок ко всему, у меня есть скрипт bash, который запускается прямо перед этим, который просто перезапускает Apache и работает нормально.
Я прочитал другие статьи SO, такие как эта, и попытался запустить dos2unix script.sh , который успешно прошел, но когда я снова попытался запустить сценарий bash, он не работал
Перезапустить Apache Script
#!/bin/bash
../apache2/bin/./restart
#END
Создать скрипт SSL
#!/bin/bash
letsencrypt_webfaction --letsencrypt_account_email <Email I use> --domains <domains I use> --public <public_file> --username <username> --password <password>
#END
Я разработчик Python и не очень разбираюсь в Ruby, поэтому извините за мое незнание, но команда letsencrypt_webfaction - это функция в моем профиле bash.
~ / .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
function letsencrypt_webfaction {
PATH=$PATH:$GEM_HOME/bin GEM_HOME=$HOME/.letsencrypt_webfaction/gems RUBYLIB=$GEM_HOME/lib ruby2.2 $HOME/.letsencrypt_webfaction/gems/bin/letsencrypt_webfaction $*
}
eval "$(rbenv init -)"
PATH=$PATH:$HOME/bin
export PATH
export PATH="$HOME/.rbenv/bin:$PATH"
export TMPDIR="/home/doc4design/src/tmp"