Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/520mianxiangduixiang520/jalias

Give your pathname a alias
https://github.com/520mianxiangduixiang520/jalias

shell zsh

Last synced: 28 days ago
JSON representation

Give your pathname a alias

Awesome Lists containing this project

README

        

# jalias

在任何命令中使用目录别名

- [X] 纯 shell
- [X] tab 提示
- [X] 支持 bash
- [X] 支持 zsh

https://github.com/520MianXiangDuiXiang520/jalias/assets/44747536/60ffc6f6-4ba3-4b76-8db0-26f3c7ac63ed

## 安装

```sh
git clone [email protected]:520MianXiangDuiXiang520/jalias.git
cd jalias
source ./scripts/install.sh
cd -
```

## 卸载

```sh
cd $JAliasSrc
source ./scripts/uninstall.sh
cd -
```

## 用法

```txt
jalias [+ | - | add | del] alias_name
jalias [l | clean]
jalias common
jalias -e path common
```

* `jalias + alias_name`: 为当前目录设置一个别名
* `jalias - alias_name`: 删除别名
* `jalias l`: 查看所有别名与对应的目录
* `jalias clean`: 删除全部别名

使用 `jalias` 时,大部分情况下只需要在正常命令前加上 `jalias` 即可,它会识别命令中的路径,并尝试使用存储的别名替换路径中的第一层目录,如:

```sh
cd /home/yia/project/jalias
jalias + ja
cd /
jalias ls -a ja # 等价于 ls -a /home/yia/project/jalias
jalias touch ja/scripts/test.txt # 等价于 touch /home/yia/project/jalias/scripts/test.txt
jalias mv ja/scripts/test.txt ja # 等价于 mv /home/yia/project/jalias/scripts/test.txt /home/yia/project/jalias/
```

特殊的,使用 `jalias` 进行工作区切换时,你可以省略 `cd`, 如:

```sh
jalias ja # 等价于 cd /home/yia/project/jalias
```

另外,有些命令可能需要切换工作区到对应目录才可以执行,这时可以使用 `-e` 参数, 它后面紧跟一个路径,然后才是具体的命令,`jalias` 会 `cd` 到正确的目录执行完命令后再回来,如:

```sh
cd /
jalias -e ja git status # 等价于 cd /home/yia/project/jalias;git status;cd -
```