首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

详解shell脚本的环境、普通、特殊变量

#提示1:定义的变量均为大写,环境变量应用于用户进程前,使用export命令导出 #提示2:变量赋值两边应没有空格 #示例:export DIR=/data/ #设置环境变量 #在用户家目录或全局配置中进行设置....bashrc /etc/bashrc /etc/profile #显示与取消环境变量 #1.通过echo或print命令打印环境变量 $HOME : 用户登录时进入的目录 $UID :当前用户的UID...env或set显示默认的环境变量 #3.通过unset消除本地变量和环境变量 [root@game ~]# echo $PWD /root [root@game ~]# unset PWD [root@...$n:执行脚本传入的参数值 #简单示例 #接收一个传入的参数 [root@game test]# cat test.sh #!...*:获取当前脚本所有传参的参数,不加引号和@相同 #简单示例 #通过set设置3个参数进行打印 [root@game ~]# set wo me guoke [root@game ~]# echo $@

1.8K20

Carson带你学Java:一步步带你深入了解神秘的Java反射机制

带 "Declared"的方法是支持取出包括公共(Public)、保护(Protected)、默认(包)访问和私有(Private)的构造方法,但不包括继承的构造函数 // 下面同理 传入参数类型),从而调用有参构造方法 Object mObj2 = studentClass.getConstructor(String.class).newInstance("Carson...对象获取方法setName1()的Method对象:需传入方法名 // 因为该方法 = 无参,所以不需要传入参数 Method msetName1 = studentClass.getMethod...("setName2",String.class); // 通过Method对象调用setName2():需传入创建的实例 & 参数值 msetName2.invoke(...返回该产品类实例 return concreteProduct; } } 步骤4:外界通过调用工厂类的静态方法(反射原理),传入不同参数从而创建不同具体产品类的实例 TestReflect.java

35020
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java:一步步带你深入了解神秘的Java反射机制

    带 "Declared"的方法是支持取出包括公共(Public)、保护(Protected)、默认(包)访问和私有(Private)的构造方法,但不包括继承的构造函数 // 下面同理 传入方法名 // 因为该方法 = 无参,所以不需要传入参数 Method msetName1 = studentClass.getMethod...("setName2",String.class); // 通过Method对象调用setName2():需传入创建的实例 & 参数值 msetName2.invoke(...返回该产品类实例 return concreteProduct; } } 步骤4:外界通过调用工厂类的静态方法(反射原理),传入不同参数从而创建不同具体产品类的实例 TestReflect.java...Demo地址 Carson_Ho的Github地址:Reflection_Factory1 如此一来,通过采用反射机制(通过 传入子类名称 & 动态创建子类实例),从而使得在增加产品接口子类的情况下

    53120

    【方向盘】启动命令和IDEA如何传递:VM参数、命令行参数、系统参数、环境变量参数、main方法参数

    ✍正文 Java应用最终被打为可执行的Jar包(war包不讨论)方可运行,此时能向应用传入参数的唯一方式是:命令行。...否则启动不了: 程序参数是传递给了main方法的入参,应用程序再通过解析此入参而获得对应的值的。...只需勾选: 视窗新增环境变量传参输入区域: 在Environment variables区域传参 什么叫环境变量?...的sysProp属性源里,通过方式③传递进来 环境变量参数 命令行里启动jar包的方式无法为应用专门特定的传入环境变量参数,只能“改全局”的环境变量,所有应用共用。...但在开发场景下,使用IDEA可为应用定制,通过方式⑥传递进来 main方法参数 它也是个统称:在-jar xxx.jar后面键入的所有参数都会被作为main方法参数传入进来,由应用程序自己负责解析。

    4.3K41

    Java Review (七、面向对象----方法深入)

    方法的参数传递机制 前面己经介绍了 Java 里的方法是不能独立存在的,调用方法也必须使用类或对象作为主调者果声明方法时包含了形参声明,则调用方法时必须给这些形参指定参数值,调用方法时实际传给形参的参数值也被称为实参...那么, Java 的实参值是如何传入方法的呢?这是由 Java 方法的参数传递机制来控制的, Java 里方法参数传递方式只有一种值传递。...所谓值传递,就是将实际参数值的副本(复制品)传入方法内,而参数本身不会受到任何影响。...Java 里的参数传递类似于《西游记》里的孙悟空,孙悟空复制个假孙悟空,这个假孙悟空具有和孙悟空相同的能力,可除以被砍头 但不管这个假孙悟空遇到什么事,孙悟空不会受到任何 与此类似,传入方法的是实际参数值的复制品...当程序执行 swap()方法时,系统进入 swap()方法,并将 main()方法中的变量a和b作为参数值传入swap()方法,传入swap()方法的只是a和b的副本,而不是a和b本身,进入 swap(

    50530

    Java 反射机制

    name = clazz.getField("name"); //给属性设置set 时,需要将**对象**和值传入 信息定义 public String name; //...(无参) Method display = clazz.getMethod("display"); //执行此方法invoke,需要传入对象 display.invoke...getObject.invoke(person,"Li Si"); } } java.lang.Class:是反射的源头:我们创建一个类,通过编译器(javac.exe)生成对应的...这三个类还有一个 getModifiers 方法,返回一个整数值,用不同的位开关描述 public 和 private等修饰符。可以通过 Modifier 类的静态方法将整数转化为 public 等。...类的 getDeclareFields、getDeclareMethods 和 getDeclaredConstructors 方法将分别返回类中声明的全部域、方法和构造器,其中包括私有和受保护的成员,但不包括父类成员

    34010

    【JavaSE专栏34】Java 函数命令行传参

    ---- 二、什么是命令行传参 在 Java 中,命令行传参是指通过命令行方式向 Java 程序传递参数。我们可以通过 main 方法的参数来接收这些参数。...---- 三、如何进行命令行传参 在 Java 中,可以使用 args 参数来接收命令行传入的参数。args 是一个字符串数组,其中存储了命令行传入的参数。...); System.out.println("传入的参数值:"); for (int i = 0; i < args.length; i++) {...例如,在命令行中执行以下命令: javac CommandLineArguments.java 然后,通过以下命令运行程序,并传入参数: java CommandLineArguments arg1 arg2...arg3 输出结果将是: 传入的参数个数:3 传入的参数值: arg1 arg2 arg3 注意:在命令行中传入的参数将以字符串形式存储在 args 数组中,使用时需要根据需要进行类型转换。

    32430

    JAVA入门1 原

    不得不说的几点小秘密: 1、 switch 后面小括号中表达式的值必须是整型或字符型 2、 case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式...我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据。 我们先来看一个带参数,但没有返回值的方法: ?...调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值 ? 例如: ? 运行结果为: 欢迎您,爱慕课!...很多时候,我们把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。...: 编写一个JAVA程序,创建指定长度的 int 型数组,并生成 100 以内随机数为数组中的每个元素赋值,然后输出数组 要求: 1、 要求通过定义带参带返回值的方法来实现 2、 通过参数传入数组的长度

    2.6K20

    Spring全注解开发---常用注解笔记整理

    ,这个有参构造器的@Autowired可以省略,参数位置的组件还是从可以自动从容器中获取 如果有参构造上面不加@Autowired注解或者加在了有参构造的参数上,并且无参构造和有参构造同时存在,那么ioc...只有在这个环境被激活的时候才能注册到容器中,默认是default环境 不指定环境的情况下: 1.使用命令行动态参数,在虚拟机参数位置加载: -Dspring.profiles.active=test,指定运行环境 2.通过代码来设置需要激活的环境...@PropertySource 和 @ConfigurationProperties 组合使用,可以将属性文件与一个Java类绑定,将属性文件中的变量值注入到该Java类的成员变量中。...@Autowired注解或者加在了有参构造的参数上,并且无参构造和有参构造同时存在,那么ioc容器创建bean时,默认调用无参构造,当只有有参构造的时候,才会调用有参构造 ---- 3.放在参数位置 @...(); } } 不指定环境的情况下: ---- 1.使用命令行动态参数,在虚拟机参数位置加载: -Dspring.profiles.active=test,指定运行环境 ---- 2.通过代码来设置需要激活的环境

    67710

    从零玩转系列之SpringBoot3-基础特性

    我们可以使用各种外部配置源,包括Java Properties文件、YAML文件、环境变量和命令行参数。...*配置(如:@Value("${random.int}"))OS 环境变量Java 系统属性(System.getProperties())JNDI 属性(来自java:comp/env)ServletContext...如果.properties和.yml同时存在,则.properties优先结论:包外 > 包内; 同级情况:profile配置 > application配置所有参数均可由命令行传入,使用--参数项=参数值...,将会被添加到环境变量中,并优先于配置文件。...@ValueSource: 为参数化测试指定入参来源,支持八大基础类以及String类型,Class类型@NullSource: 表示为参数化测试提供一个null的入参@EnumSource: 表示为参数化测试提供一个枚举入参

    53720

    Java基础入门之自定义异常、形参个数可变的方法、水仙花数

    前言 大家好,我是Java进阶者。这篇文章我们主要介绍Java基础入门之自定义异常、形参个数可变的方法、水仙花数知识,一起来学习下吧!...二、形参个数可变的方法 1.在定义方法时,在最后一个形参的类型后增加三点…,表示这个该形参接受多个参数值,多个参数值被当成数组传入。...2)个数可变的形参它是一个数组类型的形参,当在调用包含个数可变形参的方法时,这个个数可变的形参可以传入多个参数,也可以传入一个数组。...介绍了自定义异常的语法格式,通过一个案例是如何使用自定义异常。 形参个数可变的方法是在定义方法时,在最后一个形参的类型后增加三点…,表示这个该形参接受多个参数值,多个参数值被当成数组传入。...希望大家通过本文的学习,对你们有所帮助!

    50350

    拼夕夕三轮面经:被问到反射的bug,你中招了吗?

    若不使用反射,选用哪个重载方法很清晰,比如: 传入666就走int参数重载 传入Integer.valueOf(“666”)走Integer重载 那反射调用方法也是根据入参类型确定使用哪个重载方法吗?...使用getDeclaredMethod获取 grade方法,然后传入Integer.valueOf(“36”) 结果是: 因为反射进行方法调用是通过 方法签名 来确定方法。...本例的getDeclaredMethod传入的参数类型Integer.TYPE其实代表int。 所以不管传包装类型还是基本类型,最终都是调用int入参重载方法。...且无论传包装类型还是基本类型,最终都调用Integer入参重载方法。 综上,反射调用方法,是以反射获取方法时传入的方法名和参数类型来确定调用的方法。...父类 子类1 通过反射调用子类方法: 虽Base.value正确设置为了JavaEdge,但父类setValue调用了两次,计数器显示2 两次调用Base.setValue,是因为

    50830

    带你掌握框架的灵魂——反射技术

    注意初始化操作和准备操作的区别,准备操作为静态成员分配内存,设置默认初始化值,而初始化操作是设置正确的值。...Programmer{name='null', age=0, address='null'} 2.获取带参构造方法 获取带参构造方法的方式同样是通过getConstructor()方法,只不过需要传入参数...这个逻辑其实和正常创建对象赋值是刚好相反的,反射是通过成员变量对象调用方法并将类对象和参数值传入。...这里因为是无参方法,所以无需传入第二个参数,获取到成员方法的对象之后,同样是调用该对象的invoke()方法并将需要执行方法的对象传入才能成功执行方法。...Method对象的声明类将是在其中声明方法的接口,该接口可以是代理类赖以继承方法的代理接口的超接口 objs:包含传入代理实例上方法调用的参数值的对象数组,如果接口方法不使用参数,则为null。

    85110

    Dart语言基础语法(一)

    前言 环境准备 安装Dart SDK 配置环境变量 配置 VSCode 编辑器 测试环境 基础语法 代码注释 内置数据类型 变量与常量 定义变量 定义常量 内置类型的常用操作 数值类型 字符串 布尔类型...配置环境变量 在Windows上,通过点击下一步即可安装,安装完成后,若dart命令不可用,则需将dart-sdk下的的bin目录添加到系统Path环境变量中。...数值类型变量的默认值也是 null。 数值类型num有两个具体子类,分别为int和double,其中int为整数值,范围是-2^53至2^53之间;double则是64位的双精度浮点数。...函数的参数 Dart中支持两种可选参数 命名可选参数 位置可选参数 在Java中通常使用方法重载来实现同名方法的不同参数调用,Dart中则可以通过可选参数来实现相同效果。...且传参数时需使用冒号;后者与顺序相关,传参必须依照顺序。

    2.5K30

    使用 Postman 与 Kotlin 交互REST API接口数据 顶

    GET类型HTTP请求传递参数有如下2种方式,可分别通过request.pathVariable("id")或者request.queryParam("id")获取到传入的参数值: 请求路径格式参考 传参方式...POST类型HTTP请求传递参数有如下2种方式,获取参数值的方法参见下表: 请求路径格式参考 传参方式 Kotlin获取参数值的方法 “/add?...(Book::class.java)  获取单个Java对象参数值:request.bodyToMono(Book::class.java) 以上2种传参方式的区别在于FORM表单参数仅支持简单类型参数传值...,而Request Body可通过JSON格式传递复杂类型数据到服务端,Spring WebFlux框架会自动将JSON格式的入参转化为指定类型的实体bean,如果传入的是多个Book类型对象的数组,可以用...request.bodyToFlux(Book::class.java)将其转化为Book类型元素的Flux流再做后续处理,如果传入的是单个Book类型对象,可以用request.bodyToMono(

    2.3K30

    Mybatis传参的方式总结

    摘要: 本文总结了MyBatis中传参的多种方式,包括基本类型参数、对象参数、Map参数、注解参数等。通过了解这些传参方式,读者可以更好地在MyBatis中进行参数的传递与处理。...配置方法: MyBatis中传参的方式有多种,包括: 基本类型参数:直接在SQL语句中使用#{参数名}来引用基本类型参数。 对象参数:将Java对象作为参数传递,使用#{属性名}引用对象的属性。...注解参数:使用@Param注解为参数命名,使用#{value}引用参数值。 动态SQL参数:根据不同的条件,动态生成SQL语句。 枚举参数:将Java枚举类型作为参数传递。...枚举参数:将Java枚举类型作为参数传递,使用#{参数名}引用枚举值。 首先大家都清楚,Mybatis里面传参方式分别有使用 #{} 和 ${}。...对于使用 符存在安全问题的,该篇不做分析和介绍(其实就是如果传参的话,使用 需要手动拼接‘ ’ ,这就存在注入的风险) 接下来,进入正题,通过简单举例介绍, #{} 第一种情形,传入单个参数 userId

    44010

    【java筑基】吃透泛型(一万字长文,建议收藏)

    ,定义类型形参时也可以设置类型上限。...,Bound mismatch //Apple strApple=new Apple(); } } 而且Java可以在定义形参时设置一个父类上限,多个接口上限...六、泛型构造器、设置通配符下限 1.泛型构造器 java中也支持泛型构造器。在泛型类中允许使用菱形语法,但不允许在显示声明构造器泛型类型的情况下使用菱形语法。...改进的泛型参数推断机制 java8增强了泛型方法的类型推断能力:允许通过调用方法的上下文推断类型参数的目标类型,允许在方法调用链中将推断到的泛型参数传递至最后一个方法。...找工作神器|大厂java面经汇总|超全笔试题库 5.大厂真题,直接拿到大厂真实题库,而且和许多大厂都有直接合作,题目通过率高有机会获得大厂内推资格。

    42620

    04-shell

    shell脚本通常以.sh作为后缀名,但不是必须的。...,运行时需要由解释器解释成相应平台的二进制机器码文件;大多数人认为Java是一种编译型语言,但我们说Java即是编译型语言,也是解释型语言也并没有错。...1, 通过方式1执行你需要在脚本第一行写好这段脚本由哪个解释器来解释, 而通过方式2来执行则没有这个限制, 写了也没用。...及其派生出来的任意子进程shell中使用,环境变量又可分为自定义环境变量和Bash****内置的环境变量 **普通变量:**也可称为局部变量,只能在创建他们的Shell函数或Shell脚本中使用。...$n 获取当前执行的shell脚本的第n个参数值,n=1…9,当n为0时表示脚本的文件名,如果n大于9用大括号括起来{10},参数以空格隔开。

    7610
    领券