如何创建CLI别名,基于当前pwd切换至另一WordPress实例对应路径
实现WordPress实例路径快速切换的Shell函数
嘿,这个需求挺实用的!因为单纯的shell别名没法直接处理动态替换当前路径里的站点名称,所以咱们用shell函数来实现会更灵活,下面给你一步步操作:
1. 编辑Shell配置文件
根据你使用的Shell类型,打开对应的配置文件:
- 如果你用的是Bash,编辑
~/.bashrc - 如果你用的是Zsh,编辑
~/.zshrc
可以用文本编辑器打开,比如:
nano ~/.bashrc
2. 添加切换函数
在文件末尾添加以下函数代码,记得把sitename1和sitename2替换成你实际的两个站点名称:
wp_switch() { # 获取当前所在路径 local current_path=$(pwd) # 判断当前路径属于哪个站点,替换为另一个站点的路径 if [[ $current_path == *sitename1* ]]; then new_path=${current_path/sitename1/sitename2} elif [[ $current_path == *sitename2* ]]; then new_path=${current_path/sitename2/sitename1} else echo "❌ 当前路径不在任何一个WordPress实例目录下!" return 1 fi # 检查目标路径是否存在,存在则切换 if [ -d "$new_path" ]; then cd "$new_path" echo "✅ 已切换到: $new_path" else echo "❌ 目标路径不存在: $new_path" return 1 fi }
3. 让配置生效
保存文件后,执行以下命令让配置立即生效(不用重启终端):
source ~/.bashrc # 如果是Zsh就用下面这条 # source ~/.zshrc
4. 使用方法
现在你可以在任意一个WordPress实例的子目录下,直接输入命令:
wp_switch
比如你当前在srv/deployment/work/sitename1/wp-content/uploads/2018/,执行后就会自动切换到srv/deployment/work/sitename2/wp-content/uploads/2018/,反之亦然。
额外提示
- 如果你的站点名称有特殊字符(比如连字符、下划线),不用修改函数,直接替换对应的字符串就行,Shell会自动处理。
- 如果需要扩展到更多站点,可以修改函数里的判断逻辑,比如用case语句匹配多个站点名称。
内容的提问来源于stack exchange,提问作者Haddly
相关产品推荐
相关产品推荐

