我们如何转换下面的 shell 脚本,以便在 Mac OS X 上实现相同的结果?
# To generate secure SSH deploy key for a github repo to be used from Travis
# https://gist.github.com/floydpink/4631240
base64 --wrap=0 ~/.ssh/id_rsa_deploy > ~/.ssh/id_rsa_deploy_base64
ENCRYPTION_FILTER="echo \$(echo \"- secure: \")\$(travis encrypt \"\$FILE='\`cat $FILE\`'\" -r floydpink/harimenon.com)"
split --bytes=100 --numeric-suffixes --suffix-length=2 --filter="$ENCRYPTION_FILTER" ~/.ssh/id_rsa_deploy_base64 id_rsa_
# To reconstitute the private SSH key once running inside Travis (typically from 'before_script')
echo -n $id_rsa_{00..30} >> ~/.ssh/id_rsa_base64
base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
我可以找出等效的base64
命令是:
base64 --break=0 id_rsa_deploy > id_rsa_deploy_base64
但看起来Mac OS X 上的 split 命令与 Linux/Unix 有点不同,并且没有--filter
选项。
编辑:这是我从这篇博客文章中偶然发现的一个要点,该文章详细介绍了如何使用Travis CI将Octopress博客自动部署到 GitHub 。
我已经在 Ubuntu Linux 上成功地做到了这一点,并且过去也曾在博客上写过它,但无法在 Mac 上重复它。