Blame view

third-party/xinference/setup_alias.sh 2.01 KB
b401ef94   tangwang   third-party/xinfe...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
  #!/bin/bash
  
  # 自动为 Xinference 设置别名到 Shell 配置文件
  
  ENV_NAME="xinference"
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  
  echo "========================================="
  echo "  设置 Xinference 快捷别名"
  echo "========================================="
  echo ""
  
  # 检测 Shell 类型
  if [ -n "$ZSH_VERSION" ]; then
      SHELL_CONFIG="$HOME/.zshrc"
      SHELL_NAME="zsh"
  elif [ -n "$BASH_VERSION" ]; then
      SHELL_CONFIG="$HOME/.bashrc"
      SHELL_NAME="bash"
  else
      echo "⚠️  无法检测 Shell 类型,请手动添加别名"
      exit 1
  fi
  
  echo "检测到 Shell: $SHELL_NAME"
  echo "配置文件: $SHELL_CONFIG"
  echo ""
  
  # 别名内容
  ALIAS_CONTENT="
  # Xinference 环境快捷命令
  alias xinference-env='source ${SCRIPT_DIR}/activate.sh'
  alias xinference-activate='conda activate ${ENV_NAME}'
  alias xinference-cd='cd ${SCRIPT_DIR}'
  "
  
  # 检查是否已存在
  if grep -q "xinference-env" "$SHELL_CONFIG" 2>/dev/null; then
      echo "⚠️  别名已存在于 $SHELL_CONFIG"
      read -p "是否重新添加? (y/N): " -n 1 -r
      echo
      if [[ ! $REPLY =~ ^[Yy]$ ]]; then
          echo "跳过设置"
          exit 0
      fi
      # 删除旧的别名
      sed -i '/# Xinference 环境快捷命令/,/xinference-cd/d' "$SHELL_CONFIG"
  fi
  
  # 添加别名
  echo "" >> "$SHELL_CONFIG"
  echo "$ALIAS_CONTENT" >> "$SHELL_CONFIG"
  
  echo "✅ 别名已添加到 $SHELL_CONFIG"
  echo ""
  echo "========================================="
  echo "  可用快捷命令"
  echo "========================================="
  echo ""
  echo "  1. xinference-env      - 激活环境并切换到目录"
  echo "  2. xinference-activate - 仅激活环境"
  echo "  3. xinference-cd       - 切换到 Xinference 目录"
  echo ""
  echo "========================================="
  echo "  使配置生效"
  echo "========================================="
  echo ""
  echo "运行以下命令使配置生效:"
  echo ""
  echo "  source $SHELL_CONFIG"
  echo ""
  echo "或者重新打开终端"
  echo ""
  echo "然后就可以直接使用 xinference-env 命令了!"
  echo ""