惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Hugging Face - Blog
Hugging Face - Blog
IT之家
IT之家
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
大猫的无限游戏
大猫的无限游戏
The GitHub Blog
The GitHub Blog
腾讯CDC
L
LangChain Blog
P
Proofpoint News Feed
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
量子位
Apple Machine Learning Research
Apple Machine Learning Research
Cloudbric
Cloudbric
B
Blog RSS Feed
B
Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Vercel News
Vercel News
S
Schneier on Security
Project Zero
Project Zero
宝玉的分享
宝玉的分享
美团技术团队
MyScale Blog
MyScale Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Spread Privacy
Spread Privacy
T
Threatpost
A
Arctic Wolf
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
爱范儿
爱范儿
Recorded Future
Recorded Future
C
CERT Recently Published Vulnerability Notes
T
Threat Research - Cisco Blogs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
SecWiki News
SecWiki News
H
Hacker News: Front Page
AWS News Blog
AWS News Blog
博客园_首页
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tor Project blog
C
Check Point Blog
L
Lohrmann on Cybersecurity
F
Full Disclosure
TaoSecurity Blog
TaoSecurity Blog
Google Online Security Blog
Google Online Security Blog
云风的 BLOG
云风的 BLOG
The Last Watchdog
The Last Watchdog
Martin Fowler
Martin Fowler

折腾不停 – 魔帆博客

Python包管理的血泪史:从混乱到秩序的漫长征 | 魔帆博客 使用 GNU/Linux 搭建多出口软路由 | 魔帆博客 配置和使用 Windows Dev Drive 开发驱动器 | 魔帆博客 解锁iOS侧载自由:使用sideStore轻松搞定ipa签名 | 魔帆博客 Git配置:如何优雅的配置多用户并使用 ssh 密钥验证 | 魔帆博客 Fedora 系统升级 32->34 跨版本升级 | 魔帆博客 教程:如何更新安装 docker-compose V2 和使用 docker switch | 魔帆博客 Windows10 系统盘开启 Bitlocker | 魔帆博客 2022 年 Android 下的安卓浏览器使用指北-Firefox向 | 魔帆博客 Docker WSL1/2 迁移 Linux 发行版目录 | 魔帆博客 Spotify 主题 spicetify-fluent - 微软 win11 风格美化 | 魔帆博客 双重验证 Authy 导出所有 TOTP token 和 golang 配置 GOPROXY 解决网络问题 | 魔帆博客 Linux 教程:Linux 初学者必了解的概念 | 魔帆博客 安卓电池充电保护-智能充电/温控切断(Root方案) | 魔帆博客 备用机养成方案 - Tasker 安卓短信转发到 telegram | 魔帆博客 VS Code C/C++ 环境配置 | 魔帆博客 创建支持安全启动(Secure Boot)的 Arch Linux ISO 安装镜像 | 魔帆博客 使用 Aria2 搭建离线下载服务器 | 魔帆博客 微信小程序健康打卡自动填报程序-使用 Fiddler 抓包 | 魔帆博客
powershll 像 bash 一样为单个命令设置临时环境变量 | 魔帆博客
野小新 · 2021-09-19 · via 折腾不停 – 魔帆博客

问题场景

在 Linux 的 bash 等 shell 环境中,可以轻松的:

EDITOR=nvim ./Morfans.cn.sh

在指定环境变量 EDITOR为 nvim 的情况下调用 Morfans.cn.sh

但是在 Windows 的 powershell 下竟然不能这样做,那么怎么办呢。。

这样给一个命令临时指定环境变量有个常见的场景:

有一个第三方的脚本,可以通过环境变量来控制其行为(不是通过参数),且不想修改脚本

解决

😉 最简单的方案是这样的:

推荐这样,虽然不能完全模仿 bash 的用法,但是这样最简便,无需另外下载脚本、二进制等

# 先定义环境变量,然后删除
~
❯ $env:FOO = '233'; Write-Host $env:FOO
233

~
❯ rm Env:\FOO

放在一行:

$env:FOO = '233'; Write-Host $env:FOO; rm Env:\FOO

复杂实现仿 bash 可以用脚本:

使用方法:

with-env.ps1 FOO=foo BAR=bar 你的 命令

# 支持 dot-env 文件
with-env.ps1 .\.env OTHER_ENV=env 你的 命令

或者可以转换思路,换一个 shell 或使用 Cygwin、Gow、WSL等等。