zsh - Zsh 中的 DRYer 提示和分配
问题描述
我想做一些与此相同的事情:
[[ -z "$TICKET_NUMBER" ]] && read "TICKET_NUMBER?Ticket Number? "
但这更简洁,沿着这些思路(但实际上有效):
: ${TICKET_NUMBER:=$(read "TICKET_NUMBER?Ticket: ")}
我查看了Zsh 文档以查看是否有办法将输入传递read
给 STDOUT,但似乎没有什么可以做到这一点。
理想的情况是通过尽可能少的仪式和重复直接传递值的命令。想象一个get_value
命令:
: ${TICKET_NUMBER:=$(get_value "Ticket: ")}
解决方案
上一条命令的最后一个参数存储在_
参数中,因此您可以将参数捕获给-v
运算符。
test -v TICKET_NUMBER || read "$_?Ticket? "
推荐阅读
- javascript - 升级全日历?
- flutter - 如何在 DataTable 小部件中滚动 DataRow 项目
- vue.js - 基于插件值的 Vue 计算属性
- regex - 正则表达式:匹配最后一个字符串,直到出现另一个字符串(如果出现)
- python - tf.data.Dataset.window 和 tf.train.SequenceExample
- php - 我想使用 Zend 框架 2 在同一表单上的 2 个不同路径上上传 2 个文件
- java - 方法 println(Object...) 的最后一个参数的类型 int[][] 与 vararg 参数类型不完全匹配
- libgdx - 在 libgdx 中正确实现平移和缩放
- r - Geom_density_2d_filled() ggplot:(1)如何围绕所有点绘制轮廓,(2)如何改变渐变颜色?
- c# -