19个版本
| 0.5.7 | 2019年1月21日 |
|---|---|
| 0.5.6 | 2018年11月7日 |
| 0.5.5 | 2018年10月20日 |
| 0.4.2 | 2018年6月6日 |
| 0.3.6 | 2018年3月31日 |
#706 在 配置
52 每月下载量
20KB
398 行
钉子
钉子是由Assemble团队开发的一个简单工具,用于简化环境变量的管理。钉子支持两种应用环境变量的方式(通过print和session子命令),您可以选择您喜欢的方式。在这个过程中,钉子将设置并递增DINGUS_LEVEL环境变量,以便您可以跟踪您可能处于嵌套会话中的数量。
要求
钉子是用Rust编写的,可以在crates.io上从源代码构建。它也可以作为Homebrew Tap使用。
Homebrew 安装
brewtap davidarmstronglewis/dingus; brewinstall dingus
使用钉子
如果忘记了,钉子有一些内置的帮助信息,但这里有一个快速教程。
此文件应存在于~/.config/dingus/example_1.yaml,内容如下
HELLO: Hello World!
MULTI_LINE: "Hello there,
How are you?"
此文件应存在于~/.config/dingus/example_2.yaml,内容如下
HELLO: Hello, Dingus Session!
隐式配置文件
从版本0.4.2开始,如果未指定--config文件,钉子将向上递归地搜索一个.dingus Yaml文件。但如果您有保密信息,请不要将其提交到源代码控制。
钉子列表示例
从版本0.4.0开始,可以轻松查看可用的配置文件。尝试运行dingus list或dingus ls以查看可以提供给打印和会话子命令的--config参数的选项。
钉子打印示例
运行 dingus print -c example_1。看看dingus是如何找到我们创建的example.yaml文件,读取其内容并打印出一条命令?这条命令可以通过source -管道直接设置到当前shell会话中。很酷,对吧?dingus通过查看你的$SHELL变量,知道你正在运行哪个shell,并打印出适合该shell语法的命令。我只在fish和bashshell中测试过,所以我不确定它对所有shell是否都适用(实际上,我知道它并不适用)。如果你发现它不起作用,请告诉我你的shell应该使用什么语法,我会把它加入进去。
将变量应用到你的shell中的完整命令是dingus print -c example_1 | source -。通常不建议将任何内容管道到source -中,因为它可能会打开远程代码执行漏洞,但你在生产服务器上没有这样做,所以没问题(对吧?)。
看看这个:echo $HELLO和echo $MULTI_LINE都包含了你在文件~/.config/dingus/example_1.yaml中设置的值。
dingus会话(Shell)示例
如果你不希望将环境变量污染到当前的shell会话中,dingus也支持为你打开一个新的会话。默认情况下,dingus将使用你的$SHELL变量所指向的命令,并假定它是一个有效的shell。
尝试运行dingus session -c example_2。你现在在一个新的shell会话中。尝试运行echo $HELLO。是的,我们已经应用了来自~/.config/dingus/example_2.yaml的变量,现在它们都可以访问。此外,任何你在进入Dingus会话之前设置的变量也可以使用,所以如果你刚刚在我们的“Dingus Print 示例”部分运行了示例,你会发现$MULTI_LINE仍然可用。
自版本0.3.7起 Dingus在尝试调用此子命令时也接受shell。这两个命令的语义足够接近,以至于它们可以成为别名。
依赖项
~5MB
~96K SLoC