1 Star 0 Fork 0

shuaihhx/cortex

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
get-cli.sh 5.39 KB
一键复制 编辑 原始数据 按行查看 历史
Vishal Bollu 提交于 2021-03-16 19:45 . Revert "Update version to 0.31.0"
#!/bin/bash
# Copyright 2021 Cortex Labs, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -e
CORTEX_VERSION_BRANCH_STABLE=master
CORTEX_INSTALL_PATH="${CORTEX_INSTALL_PATH:-/usr/local/bin/cortex}"
# replace ~ with the home directory path
CORTEX_INSTALL_PATH="${CORTEX_INSTALL_PATH/#\~/$HOME}"
case "$OSTYPE" in
darwin*) parsed_os="darwin" ;;
linux*) parsed_os="linux" ;;
*) echo -e "\nerror: only mac and linux are supported"; exit 1 ;;
esac
function main() {
echo -e "\ndownloading cli (${CORTEX_INSTALL_PATH}) ...\n"
cortex_sh_tmp_dir="$HOME/.cortex-sh-tmp"
rm -rf $cortex_sh_tmp_dir && mkdir -p $cortex_sh_tmp_dir
if command -v curl >/dev/null; then
curl -s -w "" -o $cortex_sh_tmp_dir/cortex https://s3-us-west-2.amazonaws.com/get-cortex/$CORTEX_VERSION_BRANCH_STABLE/cli/$parsed_os/cortex
elif command -v wget >/dev/null; then
wget -q -O $cortex_sh_tmp_dir/cortex https://s3-us-west-2.amazonaws.com/get-cortex/$CORTEX_VERSION_BRANCH_STABLE/cli/$parsed_os/cortex
else
echo "error: please install \`curl\` or \`wget\`"
exit 1
fi
chmod +x $cortex_sh_tmp_dir/cortex
if [ $(id -u) = 0 ]; then
mv -f $cortex_sh_tmp_dir/cortex $CORTEX_INSTALL_PATH
else
ask_sudo
sudo mv -f $cortex_sh_tmp_dir/cortex $CORTEX_INSTALL_PATH
fi
rm -rf $cortex_sh_tmp_dir
echo "✓ installed cli"
# prompt to update bash profile if running interactively
if [ -t 1 ]; then
update_bash_profile
fi
}
function ask_sudo() {
if ! sudo -n true 2>/dev/null; then
echo -e "please enter your sudo password\n"
fi
}
function get_bash_profile_path() {
if [ "$parsed_os" = "darwin" ]; then
if [ -f $HOME/.bash_profile ]; then
echo $HOME/.bash_profile
return
elif [ -f $HOME/.bashrc ]; then
echo $HOME/.bashrc
return
fi
else
if [ -f $HOME/.bashrc ]; then
echo $HOME/.bashrc
return
elif [ -f $HOME/.bash_profile ]; then
echo $HOME/.bash_profile
return
fi
fi
echo ""
}
function get_zsh_profile_path() {
if [ -f $HOME/.zshrc ]; then
echo $HOME/.zshrc
return
fi
echo ""
}
function guess_if_bash_completion_installed() {
if [ -f $HOME/.bash_profile ]; then
if grep -q -e "^[^#]*bash-completion" -e "^[^#]*bash_completion" "$HOME/.bash_profile"; then
echo "true"
return
fi
fi
if [ -f $HOME/.bashrc ]; then
if grep -q -e "^[^#]*bash-completion" -e "^[^#]*bash_completion" "$HOME/.bashrc"; then
echo "true"
return
fi
fi
echo "false"
}
function update_bash_profile() {
bash_profile_path=$(get_bash_profile_path)
zsh_profile_path=$(get_zsh_profile_path)
maybe_bash_completion_installed=$(guess_if_bash_completion_installed)
did_locate_shell_profile="false"
if [ "$bash_profile_path" != "" ]; then
did_locate_shell_profile="true"
if ! grep -Fxq "source <(cortex completion bash)" "$bash_profile_path"; then
echo
read -p "Would you like to modify your bash profile ($bash_profile_path) to enable cortex command completion and the cx alias in bash? [y/n] " -r
echo
if [ "$REPLY" = "y" ] || [ "$REPLY" = "Y" ] || [ "$REPLY" = "yes" ] || [ "$REPLY" = "Yes" ] || [ "$REPLY" = "YES" ]; then
echo -e "\nsource <(cortex completion bash)" >> $bash_profile_path
echo -e "✓ Your bash profile has been updated"
echo -e "\nCommand to update your current terminal session:"
echo " source $bash_profile_path"
if [ ! "$maybe_bash_completion_installed" = "true" ]; then
echo -e "Note: \`bash-completion\` must be installed on your system for cortex command completion to function properly"
fi
else
echo -e "Your bash profile has not been modified (run \`cortex completion --help\` to show how to enable bash completion manually)"
fi
fi
fi
if [ "$zsh_profile_path" != "" ]; then
did_locate_shell_profile="true"
if ! grep -Fxq "source <(cortex completion zsh)" "$zsh_profile_path"; then
echo
read -p "Would you like to modify your zsh profile ($zsh_profile_path) to enable cortex command completion and the cx alias in zsh? [y/n] " -r
echo
if [ "$REPLY" = "y" ] || [ "$REPLY" = "Y" ] || [ "$REPLY" = "yes" ] || [ "$REPLY" = "Yes" ] || [ "$REPLY" = "YES" ]; then
echo -e "\nsource <(cortex completion zsh)" >> $zsh_profile_path
echo -e "✓ Your zsh profile has been updated"
echo -e "\nStart a new zsh shell for completion to take effect. If completion still doesn't work, you can try adding this line to the top of $zsh_profile_path: autoload -Uz compinit && compinit"
else
echo -e "Your zsh profile has not been modified (run \`cortex completion --help\` to show how to enable zsh completion manually)"
fi
fi
fi
if [ "$did_locate_shell_profile" = "false" ]; then
echo -e "\nIf you would like to enable cortex bash completion and the cx alias, run \`cortex completion --help\` for instructions"
fi
}
main
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/shuaihhx/cortex.git
git@gitee.com:shuaihhx/cortex.git
shuaihhx
cortex
cortex
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385