Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/520mianxiangduixiang520/jalias
- Owner: 520MianXiangDuiXiang520
- License: mit
- Created: 2024-01-21T19:48:42.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-05T19:56:13.000Z (10 months ago)
- Last Synced: 2024-11-15T19:11:05.802Z (3 months ago)
- Topics: shell, zsh
- Language: Shell
- Homepage:
- Size: 11.9 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# jalias
在任何命令中使用目录别名
- [X] 纯 shell
- [X] tab 提示
- [X] 支持 bash
- [X] 支持 zshhttps://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 -
```