教你设置 batch-shortcuts
PATH 环境变量介绍
搬运自 知乎
PATH 环境变量
经常使用命令行工具的话,对PATH
等环境变量应该会非常熟悉;但现今的日常开发,接触到这一概念的机会越来越少。
时不时还是会遇到小朋友问我:“什么是PATH?”
这里记录一下,以供参考。
什么是环境变量?
环境变量是操作系统提供给应用程序访问的简单 key / value字符串;windows/linux/mac都有同样的概念。
一般用于提供参数值给不同的应用程序。
什么是PATH变量?
我们从命令行想要运行一个程序的时候,待运行的程序往往不是在当前目录。
PATH变量
就是用于保存可以搜索的目录路径,如果待运行的程序不在当前目录,操作系统便可以去依次搜索PATH变量
变量中记录的目录,如果在这些目录中找到待运行的程序,操作系统便可以运行。
以Go开发
为例,但我们使用go install
命令编译、安装go程序后,可执行文件是会被保存在$GOPATH/bin
路径下;那么我们可以把这个路径加入到PATH变量
中,这样我们便可以在任意路径中运行go安装的程序。
GOPATH
GOPATH
又是一个环境变量,用于保存go的主目录,go默认安装之后,GOPATH
会是当前用户的主工作目录中的go子目录,即:%HOME/go
。
查看环境变量
假设我们要查看GOPATH
这个环境变量的值:
- windows command prompt:
echo %GOPATH%
- windows powershell:
$env:GOPATH
- linux & mac:
echo $GOPATH
设置PATH变量
windows
假设我们当前登陆操作系统的用户名是:xiaomin
然后我们要把c:\users\xiaomin\go\bin
路径加入到PATH变量
中,在windows下我们可以在PowerShell中执行:
1 | $env:Path += ";c:\users\xiaomin\go\bin" |
注意,这样仅仅只是临时修改当前的PATH变量
,当我们关闭、重开PowerShell时,就需要重新设置。
如果要永久的修改,需要使用管理员权限启动PowerShell,然后执行:
1 | setx /M PATH "%PATH%;c:\users\xiaomin\go\bin" |
Linux & Mac
同样假设我们当前登陆用户名是:xiaomin
然后我们要把/home/xiaomin/go/bin
路径加入到PATH变量
中
1 | export PATH=$PATH:/home/xiaomin/go/bin |
这同样是临时修改,重开shell之后,会被重置;要永久改变的话,一般是将上面的命令加入到我们使用的shell初始化文件中。
以bash为例,那么就是将上述命令加到/home/xiaomin/.bash_profile
文件中。
设置步骤
1. pathext
Windows上的另一个变量。这里存储可直接运行的文件类型,一般需要添加 .lnk 进去
2. 建立一个目录
建立: D:\bin\batch-shortcuts
D:\bin\
路径又简洁又舒服
3. 把目录写入path
参照百度经验:windows10设置环境变量PATH
注意,设置完后,需要重启资源管理器和命令行来应用更改。
可以在任务管理器,选中资源管理器,选择重新启动
可以注销,然后登陆
可以重启
4. 然后就可以用了
怎么用?
在上面那个文件夹内的所有文件,都是命令行可以访问到的。
一般可以创建:.bat .lnk ,.exe也阔以哇
举个栗子:
1 | 文件名:batch-shortcuts.bat |
模仿Linux ctrl d
一键关闭风格,创建的 d.bat
1 | 文件名:d.bat |
比如md5
1 | 文件名:md5.lnk |
还有一些调用程序的,比如安装Ubuntu后,写一个脚本来调用Ubuntu执行命令
1 | 文件名:ubuntu.bat |
%* 是传递所有命令行参数,这个了解一下会有很大的帮助
如果不用这个,就得用 %1 %2 %3 %4 %5 %6 %7 %8 %9
,而超过9的就不能再处理了
还有其他玩法,自己探索吧!
关于 D:\bin 文件夹
我一般把命令行调用的,编程语言类的,放在这里面,
(还有一些绿色IDE为代表的,可以一套带走的,我也放里面)
(还有DOS系统盘为代表的,系统级的底层的,我也放里面)
一方面是,这个路径他没有空格,不容易导致命令行调用出错。
第二是,他真的又简洁又舒服哇
列出一下目前为止我的 D:\bin
的内容
1 | D:\bin>dir |