V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wjswxp  ›  全部回复第 1 页 / 共 2 页
回复总数  32
1  2  
82 天前
回复了 fengsien1999 创建的主题 PowerShell 现在 PowerShell 是不是没有什么用?
又想到一个例子 2333

```ps1
$files = Get-Item -Path "."
# foreach..in 和 ForEach-Object 的语法(和效率)是两回事,参见 "about_Foreach"
foreach ($file in $files) {
# 这里是和其他字符串替换略有不同的地方,pwsh 不提供单独的 ${file.Name} 写法
Write-Host "name=$($file.Name)"
}
```
82 天前
回复了 fengsien1999 创建的主题 PowerShell 现在 PowerShell 是不是没有什么用?
> 个人认为用作交互式 shell 不好用,但是写脚本还是有用的

同感。pwsh 相比 bash 有参数的类型系统,不必借助 sed awk 能够处理字符串,写起来也感觉更可靠。

但语法不统一的问题,使学习过程很令人迷惑。

举几个例子:

```ps1
# 借助 C# String 类型的方法
if ([string]::IsNullOrEmpty($s)) {
$s = "default-value"
}

# 使用 PowerShell 内置操作符的写法不同 -match
if ($s -match $regex_pattern) {
# use $Matches
}

# 没有比较直觉的 "==" 而是 "-eq"(一致却不常规
if ($s -eq "sth") {
# ...
}

# 调用 PowerShell Cmdlet 的传参写法又有不同
# 为了使用内一表达式其结果(这里取反),要用 () 或 $() 包起来
if (-not (Test-Path -Path "path/to/not-exist")) {
# ...
}

# 如果想在传参时写表达式,同上,要用 () $() 包起来
$a = Join-Path -Path (Resolve-Path -Path ".") "filename"
```

```ps1
# 这里的 Add() 不 Out-Null 会 Out-Default ,如果在脚本的最外层那就是向 stdout 输出
$dict = [System.Collections.Generic.Dictionary[string, string]]::new()
$dict.Add("key", "value") | Out-Null

# pwsh 函数的返回值就是函数内的输出,参见文档 "about_Return"
function foo() {
# 赋值语句不会 Out-Default
$s = "Hello"
# 结尾没有 ";" 的表达式会 Out-Default
$s
# return 仅表示跳出
return
}
$a = foo() # "Hello"

# 但是在 PowerShell 5 起引入了 class 支持,在 class 里 return 符合常规编程语言的直觉
# 看文档吧 "about_Classes"
```
273 天前
回复了 chencc48111 创建的主题 分享发现 Onenote 几个不能忍的点
OneNote 无法轻易修改内容格式,直接劝退
329 天前
回复了 wasd6267016 创建的主题 问与答 极米投影仪不要升级系统!卡爆
要是有 root 的方法就好了
2021-05-14 08:54:27 +08:00
回复了 panky 创建的主题 创业组队 [搭团队] 开发 App,找后端研发加入
nulladmin at 163 dot com
2021-02-26 13:05:25 +08:00
回复了 yeqizhang 创建的主题 问与答 经常会纠结一些名词怎么办
不受管理的内存叫泄露可能是不准确,只是个惯用语?击穿也许只是形象的用法,因为也会说“把流量打到某台机器上”。对名词敏锐希望表述更精确是好事呀。
2021-02-04 14:49:25 +08:00
回复了 formulahendry 创建的主题 酷工作 微软,招 Java 了!
据我所知是因为要改开源项目才有这种岗位需要。.net 本身一直在用甚至与 cpp 嵌套着用,而且虽然国内生态奇怪了一点,国际上使用还蛮多的。此外,pwsh 它不香吗?
2021-01-25 09:50:23 +08:00
回复了 bigbyto 创建的主题 程序员 JWT Claims 该如何翻译
宣称?
2020-12-23 09:28:07 +08:00
回复了 rodrick 创建的主题 程序员 领导选了开源软件,但是 bug 多导致一直无法落地使用
ds..?
2020-06-03 02:41:00 +08:00
回复了 freedomSky 创建的主题 硬件 开发用笔记本有没有 macbook 转回 pc 的
停留在 mbp2015 不再买新了,换 windows 两年,偶尔同时用,都很舒服。感觉 mac 能够带你起码在表面上快速适应 linux 开发,跨过某些门槛后转回 windows + wsl / msys2 / 虚拟机 也挺舒服的。
2020-06-02 17:39:36 +08:00
回复了 kisshere 创建的主题 京东 京东 3600+微星 b450m 套装为啥没一个人评论?
也许你的问题只在于,这是 3600 (
2020-05-31 22:09:09 +08:00
回复了 liupp 创建的主题 iPad 研究生读论文有必要买 iPad 吗?
有钱就买,事实上不如 PC 买一个 MWeb 好用 23333
2020-05-31 14:57:53 +08:00
回复了 shenzhiqiangok 创建的主题 职场话题 应届 Offer 比较:阿里 VS 字节
都这么对比了,阿里不香吗?
2020-05-30 22:43:05 +08:00
回复了 dallaslu 创建的主题 问与答 你的个人项目放在哪儿,阿里云还是腾讯云?
小厂它不香吗
2020-05-30 12:10:10 +08:00
回复了 GeekSky 创建的主题 YouTube 油管这点太烦人了,不如国内视频站。
除了最开始的广告,中间的一般都是 UP 主 自己配置的,所以,取关吧。
2020-05-27 18:56:55 +08:00
回复了 linora 创建的主题 问与答 macos 有可提供 rdp(windows)服务的软件吗?
微软要哭了,rdp for mac
2020-05-19 11:23:28 +08:00
回复了 zackwan95 创建的主题 职场话题 VUE 创始人尤雨溪曾经被阿里 hr 以不好用为由拒过…
其实我觉得阿里招聘要求里写的皮实不是正面的心态 2333
1  2  
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2271 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 71ms · UTC 01:49 · PVG 09:49 · LAX 18:49 · JFK 21:49
Developed with CodeLauncher
♥ Do have faith in what you're doing.