我一直在使用letencrypt为我的网站生成SSL证书,更具体地说是letencrypt_webfaction。 当我在项目中运行此命令时,它可以工作
letsencrypt_webfaction --letsencrypt_account_email --domains --public --username --password
但是,当我在bash脚本中运行相同的命令时,出现错误
generate_certificate.sh: line 2: letsencrypt_webfaction: command not found
我确保使用chmod 777 generate_certificate.sh对bash脚本拥有所有可能的权限,但仍然没有任何权限。 最重要的是,我有一个bash脚本可以在此之前运行,可以重新启动Apache,并且运行良好。
我阅读了诸如此类的其他SO文章,并尝试运行dos2unix script.sh ,该文章确实运行成功,但是当我再次尝试运行bash脚本时,它不起作用。
重新启动Apache脚本
#!/bin/bash
../apache2/bin/./restart
#END
生成SSL脚本
#!/bin/bash
letsencrypt_webfaction --letsencrypt_account_email --domains --public --username --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"