java学习应用篇|使用环境变量做一些工具

环境变量综述

一直以来,我们好像对环境变量的使用,一直停留在配置jdk环境变量,配置maven环境变量,配置gradle环境变量等等,但其实环境变量的作用,远远不止于此,在本文中,小刀简述一下几个小功能的思路作为抛砖引玉,大家有好的想法和实践欢迎随时和小刀交流。

环境变量做工具的思路

java学习应用篇|使用环境变量做一些工具

在这里,我们借用了上篇文章的图片,在这里我们可以看到,设置了环境变量之后,就可以通过echo方式输出,就是和代码中,我们定义的那些变量很相似了。

代码语言:javascript代码运行次数:0运行复制

String a = "java技术大本营"

然后下面我们使用“java技术大本营”的时候,就直接使用a就可以了。

这样,我们就可以把一些简单的命令、脚本放到环境变量里面

用环境变量执行命令

注:往后面的一些代码/示例,我们都会以linux环境为基础做演示,除非是特别需要windows的情况下,才会使用win,建议小伙伴们也装一下ubuntu/centos, 能更好的走进系统。

立即学习“Java免费学习笔记(深入)”;

执行git pull 命令

我们在~/.bashrc 中最后一行添加如下环境变量

java学习应用篇|使用环境变量做一些工具

然后保存,重新打开终端即可生效。

java学习应用篇|使用环境变量做一些工具

然后我们对先用echo 对刚才的变量进行输出,然后再用$GP来执行一下,就可以看到是等同于 git pull的效果 有了这个例子之后,小伙伴们就可以扩宽思路,就不仅仅是Git命令了, 一些常用的命令都可以这样简化, 再有甚者,可以编一套指令,如G开头的代表GIT命令,GP(git pull),GPH(git push)M开头的代表Maven命令,MP(mvn package)GD开头的代表Gradle命令, GDJAR(gradle bootjar)S开头的代表SSH命令,STEST1(ssh root@test1)再者就要靠小伙伴自己发挥了

Perl学习手札 chm版 Perl学习手札 chm版

Perl学习手札是台湾perl高手写的一篇文章,特打包为chm版,方便大家阅读。 关于本书 1. 关于Perl 1.1 Perl的历史 1.2 Perl的概念 1.3 特色 1.4 使用Perl的环境 1.5 开始使用 Perl 1.6 你的第一个Perl程序 2. 标量变量(Scalar) 2.1 关于标量 2.1.1 数值 2.1.2 字符串 2.1.3 数字与字符串转换 2.2 使用你自己的变量 2.3 赋值 2.3.1 直接设定 2.3.2 还可以这样 2.4 运算 2.5 变量的输出/输入 2.

Perl学习手札 chm版 0 查看详情 Perl学习手札 chm版 用环境变量执行脚本

这里我们要引入一个新的环境变量值 PATH, 对其直接输出可以看到一系列的bin目录

java学习应用篇|使用环境变量做一些工具

我们先在用户目录下,建一个存放脚本的文件夹,然后新建一个update.sh,如下所示

java学习应用篇|使用环境变量做一些工具

我们进入了两个代码目录,然后输出路径,然后执行git pull , 然后打印一句话

java学习应用篇|使用环境变量做一些工具

现在的目录情况如上所示,然后我们把目录~/script也加入到PATH中,在~/.bashrc中编辑如下

java学习应用篇|使用环境变量做一些工具

保存之后,重新打开终端或者source ~/.bashrc,然后直接执行update.sh

java学习应用篇|使用环境变量做一些工具

可以看到,通过脚本,把我们把电脑中的代码都更新了一遍,这个是很简单的脚本,我们可以再写的复杂一点,比如,一键打开IDEA,SwitchHosts,DataGrip,易云,等工具。做个自定义启动。再比如,可以写一个备份资料,文件夹的脚本,直接输入一个back.sh就可以完成备份了。

扩展思考

1:对应的windows环境变量工具应该怎么实现?2:PATH变量有什么用?

以上就是java学习应用篇|使用环境变量做一些工具的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/741142.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月25日 15:29:09
下一篇 2025年11月25日 15:29:30

相关推荐

  • 如何在Golang中快速初始化项目模板

    使用标准结构和自动化工具快速初始化Go项目,通过创建cmd、internal、pkg等目录建立清晰骨架,结合shell脚本或cookiecutter等工具实现一键生成,并预置zap、viper等常用组件,提升开发效率。 在Golang中快速初始化项目模板,关键在于建立标准化结构并借助工具提升效率。下…

    好文分享 2025年12月16日
    000
  • Go语言与C++代码集成:告别传统Makefile,拥抱SWIG

    本文旨在解决go语言与c++++代码集成时遇到的`make.`和`make.pkg`文件缺失错误。该问题源于尝试使用已废弃的makefile方法。我们将阐述这种方法的过时性,并推荐使用swig(simplified wrapper and interface generator)作为现代、高效的解决…

    2025年12月16日
    000
  • Go语言反射:动态获取变量类型详解

    go语言通过其内置的`reflect`包提供了强大的运行时类型检查能力。本文将详细介绍如何使用`reflect.typeof()`函数来动态获取任何go变量的类型信息,包括基本类型和复杂数据结构,并提供实用代码示例和使用注意事项,帮助开发者在需要进行类型内省时高效应用。 引言:Go语言中的类型内省 …

    2025年12月16日
    000
  • Go语言正则表达式:理解点号(.)对换行符的匹配行为与(?s)标志的应用

    go语言的正则表达式中,点号(.)默认情况下不匹配换行符。若需使其匹配包括换行符在内的所有字符,则需要在正则表达式模式中显式使用“点号匹配所有”(dot all)标志 `(?s)`。本文将详细阐述这一行为,并通过示例代码演示如何在go中正确应用 `(?s)` 标志来达到预期匹配效果。 1. 默认行为…

    2025年12月16日
    000
  • Go语言中从io.Reader读取和写入UTF-8编码字符串的实践指南

    本文深入探讨了go语言中utf-8字符串的编码与处理机制,包括rune、byte与string的区别。详细介绍了如何从io.reader高效读取utf-8编码的字节流并转换为go字符串,以及写入utf-8字符串的方法。强调了内存复制的考量,并提供了标准实践代码示例,旨在帮助开发者在tcp通信等场景下…

    2025年12月16日
    000
  • Go语言中实现接口的结构体切片转换:深度解析与泛型处理

    本文深入探讨了Go语言中将具体类型切片(如`[]Struct`)转换为接口类型切片(如`[]Interface`)的机制与挑战。尽管结构体实现了接口,但其切片类型并不能直接赋值给接口切片类型,这源于两者底层内存布局的根本差异。文章将介绍显式循环转换的常规方法,并进一步展示如何利用反射机制实现更具通用…

    2025年12月16日
    000
  • Go regexp:(?s) 标志与 . 字符的换行符匹配

    go语言的`regexp`包在默认情况下,正则表达式中的`.`字符不匹配换行符。本文将深入探讨`regexp`中`.`字符的匹配行为,解释为何其默认不包含换行符,并详细介绍如何通过在正则表达式模式中添加`(?s)`(dot all)标志来使其匹配包括换行符在内的任意字符,并通过示例代码演示这一关键用…

    2025年12月16日
    000
  • 如何在Golang中实现桥接模式

    桥接模式通过接口与组合分离抽象与实现:定义Renderer接口及Windows、Mac等具体实现,Message结构体持Renderer接口实例,实现显示逻辑与渲染方式解耦,新增LinuxRenderer无需修改Message,提升灵活性与可维护性。 桥接模式是一种结构型设计模式,它将抽象部分与实现…

    2025年12月16日
    000
  • Go语言中定义无返回值函数:简化代码与最佳实践

    本文探讨go语言中如何定义不返回任何值的函数。当函数的主要作用是执行副作用(如打印输出或修改状态)而非计算并返回结果时,go语言允许开发者完全省略函数的返回值声明,从而避免了不必要的`nil`返回或复杂的类型定义,使代码更加简洁和符合语义。 引言:Go语言函数与返回值 在Go语言中,函数是组织代码的…

    2025年12月16日
    000
  • Go语言与C++代码集成:告别旧式Makefile,拥抱SWIG

    本文旨在解决go语言与c++++代码集成时遇到的旧式makefile方法导致的“no such file or directory”错误。我们将阐明这种基于`make.`和`make.pkg`的链接方式已废弃,并详细介绍如何使用swig(simplified wrapper and interfac…

    2025年12月16日
    000
  • Go语言中嵌入式类型方法访问外部结构体字段的机制与实践

    本文深入探讨了go语言中嵌入式结构体的方法是否能够直接访问其外部(父)结构体字段的问题。通过分析go的组合机制和方法接收者原理,明确了这种直接访问是不可行的。文章提供了两种可行的解决方案:显式传递外部结构体实例或在嵌入式结构体中持有外部结构体引用,并对比了go语言中`db.save(user)`与`…

    2025年12月16日
    000
  • Golang如何使用常量与iota实现枚举_Golang常量与iota使用技巧汇总

    Go语言通过const与iota实现枚举效果,iota从0自增,可配合表达式设定起始值或跳过数值,如用1 在 Go 语言中,没有像其他语言(如 C# 或 Java)那样的内置枚举类型。但我们可以通过常量(const)和 iota 配合使用,来实现类似枚举的效果。这种方式不仅简洁高效,还能提升代码可读…

    2025年12月16日
    000
  • Go语言中获取对象类型的实践指南:深入理解 reflect.TypeOf()

    本教程详细介绍了Go语言中如何使用 `reflect` 包来获取对象的类型信息。我们将重点讲解 `reflect.TypeOf()` 函数的用法,并通过实例演示如何识别基本类型、复合类型(如切片),并探讨 `reflect.Type` 接口提供的更多功能。文章还将提供使用反射时的注意事项,帮助开发者…

    2025年12月16日
    000
  • Go语言中range循环与数组元素修改的深度解析

    本文深入探讨go语言`range`循环在处理数组时,其迭代变量默认是值的副本而非引用。通过示例代码,我们展示了直接修改迭代变量无法影响原始数组的问题,并提供了使用索引来正确修改数组元素的方法,强调了理解`range`行为对避免潜在编程错误的重要性。 理解Go语言range循环的工作原理 在Go语言中…

    2025年12月16日
    000
  • GoDoc如何显示接口类型变量:行为解析与实践指南

    本文旨在解析godoc工具对接口类型变量的显示行为。针对早期版本中可能存在的误解或特定环境问题,我们将明确指出在现代go版本中,godoc能够正确识别并展示所有导出的接口类型变量。文章将通过示例代码演示其工作原理,并提供相关注意事项,帮助开发者更好地理解和利用godoc进行代码文档化。 引言:GoD…

    2025年12月16日
    000
  • Vim Go开发:持久化显示函数签名提示的配置指南

    本文旨在解决vim中go语言开发时,自动补全的函数签名提示短暂显示后消失的问题。通过深入探讨vim的`completeopt`选项以及主流自动补全插件(如`autocomplpop`、`neocomplete.vim`)的配置方法,指导开发者如何启用并持久化显示函数签名、参数类型及返回值信息,从而显…

    2025年12月16日
    000
  • 优化Vim Go开发体验:持久化显示函数签名提示

    本文旨在解决Vim中Go语言开发时,函数签名自动补全提示短暂显示的问题。我们将探讨如何通过配置流行的自动补全插件(如autocomplpop或neocomplete),实现函数参数、类型和返回值信息的持久化显示,从而显著提升开发效率,避免频繁跳转查阅文档,尤其适用于不便使用传统Vim预览窗口的用户。…

    2025年12月16日
    000
  • GoDoc对接口类型变量的展示机制解析

    本文旨在澄清godoc工具对导出接口类型变量的展示行为。通过分析godoc的设计原理和实际操作,我们将阐明godoc能够正确识别并显示所有导出的变量,包括那些声明为接口类型的变量。文章将提供示例代码和验证步骤,并探讨可能导致早期版本或特定环境出现误解的原因,确保读者对godoc的功能有准确理解。 G…

    2025年12月16日
    000
  • Go语言中利用reflect包获取对象类型详解

    在go语言中,为了在运行时获取变量的准确类型,我们主要依赖标准库中的`reflect`包。通过使用`reflect.typeof()`函数,开发者可以检查任何变量的动态类型,这对于处理接口、泛型或需要类型判断的场景至关重要。本文将详细介绍`reflect.typeof()`的使用方法、示例代码以及相…

    2025年12月16日
    000
  • 深入理解GoDoc对接口类型变量的显示行为

    本文旨在探讨GoDoc工具在显示导出接口类型变量时的行为。通过分析一个早期用户遇到的问题,即GoDoc未能显示接口类型变量的声明,我们将澄清现代Go版本中GoDoc的预期行为。教程将通过示例代码和验证步骤,演示GoDoc如何正确识别并展示所有符合导出规则的变量,无论其类型是具体类型还是接口类型,并强…

    2025年12月16日
    000

发表回复

登录后才能评论
关注微信