PowerShell 是 MicroSoft 开发的一款跨平台的任务自动化解决方案,由命令行 Shell、脚本语言和配置框架构成。PowerShell 支持 KornShell 的核心语法,习惯 bash 的朋友非常容易切换到 PowerShell,所以 PowerShell 是 Windows 上非常受欢迎的命令行工具。
1. 配置profile
PowerShell 支持个性化配置,同时定义了很多变量来方便用户对 profile 进行配置。
变量 | 说明 |
---|---|
$PROFILE | 当前用户,当前主机 |
$PROFILE.CurrentUserCurrentHost | 当前用户,当前主机 |
$PROFILE.CurrentUserAllHosts | 当前用户,所有主机 |
$PROFILE.AllUsersCurrentHost | 所有用户,当前主机 |
$PROFILE.AllUsersAllHosts | 所有用户,所有主机 |
查看变量对应值
$PROFILE | Get-Member -Type NoteProperty
测试文件是否存在
Test-Path -Path $PROFILE.AllUsersAllHosts
新建文件,注意需要管理员权限
New-Item -ItemType File -Path $PROFILE.AllUsersAllHost -Force
修改文件
notepad $PROFILE.AllUsersAllHosts
在 profile 里新增代理配置如下,这样启动 PowerShell 时默认会将 http://127.0.0.1/10809 作为 Https 的代理。
添加代理
$ENV:HTTPS_PROXY='http://127.0.0.1:10809'
2. scp免密拷贝
发布站点到服务器时,需要将本地打包好的内容拷贝到远程服务器上。PowerShell 支持 scp 命令,可以参考github使用一文,将本地的 pub key 加到远程服务器的信任 key 中,这样拷贝时不用输入密码。
cat ~/.ssh/id_rsa.pub | ssh [email protected] 'cat >> ~/.ssh/authorized_keys'
在 profile 里面定义下面两个变量:
$SSH_PUB_KEY='添加到远程服务器信任的key'
$REMOTE_SERVER='远程服务器的地址'
docusaraus编译生成的站点可以通过下面命令完成部署。
scp -i $SSH_PUB_KEY -r build/ $REMOTE_SERVER
3. 修改启动PowerShell时的默认路径
可以通过以下方式修改 PowerShell 的启动路径。
进入目录:
C:\Users\yourusername\Documents\WindowsPowerShell
,其中 yourusernam 替换成你的系统用户创建一个配置文件,例如:
Microsoft.PowerShell_profile.ps1
在文件中添加以下内容,location 后面填写你希望的目录
Set-location D:\xxx