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

【Groovy】Groovy 动态语言特性 ( Groovy 变量自动类型推断以及动态调用 | Java 必须变量指定其类型 )

文章目录 前言 一、Groovy 动态语言 二、Groovy 变量自动类型推断及动态调用 三、Java 必须变量指定其类型 前言 Groovy 是动态语言 , Java 是静态语言 ; 一、Groovy...动态语言 ---- Groovy 语言是动态语言 , 其类型是在运行时进行确定 , 如使用 def name 声明一个变量 , 声明时不指定变量类型 ; 在运行时其赋值一个 String 类型变量或常量..., name = "Tom" 则该声明变量 , 在运行时会被自动推断 String 类型变量 ; Groovy 变量 , 方法 , 函数实参 类型 , 都是在运行时推断与检查 ; 二、Groovy...变量自动类型推断及动态调用 ---- Groovy , 如果声明 class Groovy { static void main(String[] args) {...---- Java , 如果声明 Object 类型变量 , 其赋值一个 String 类型常量 , public class Java { public static void main

2K30

Shell中使用getopt、getopts命令

命令格式 getopt命令可以接受一系列任意形式命令行选项和参数,并自动将它们转换成适当格式。...,并给予提供optstring进行解析,它会自动讲-cd选项分成两个单独选项,并插入双破折线来分割行额外参数。...脚本中使用getopt set命令选项之一是双破折线(–),它会将命令行参数替换成shell各种变量 #/bin/bash ################################...boost提供了Options库,shell,处理此事getopts和getopt.getopts和getopt功能相似但又不完全相同,其中getopt是独立可执行文件,而getopts是由...#set 会重新排列参数顺序,也就是改变$1,$2...$n值,这些值getopt重新排列过了 eval set -- "$TEMP" #经过getopt处理,下面处理具体选项

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

Shell脚本参数和选项

本文详细介绍Shell脚本参数和选项,包括基本语法、使用方法和示例。一、基本语法Shell脚本支持两种类型参数,分别是位置参数和命名参数。...位置参数是Shell脚本特殊变量,用于表示脚本执行时传递参数。命名参数是通过选项来传递参数,可以使用getopts命令来解析。...1.位置参数Shell脚本,位置参数可以通过$1、$2、$3等特殊变量来引用。例如:#!...选项通常是单个字母,可以使用getopts命令来解析getopts命令可以读取一个选项并将其存储特殊变量$OPTARG,可以使用case语句来处理不同选项。例如:#!...2.使用位置参数时,可以使用特殊变量$#来获取传递参数数量。3.使用命名参数时,可以使用默认值来处理未指定选项。4.处理多个选项时,可以使用循环结构来读取和处理选项

1.7K21

我可以不source脚本情况下变量Bash脚本导出到环境

echo $VAR 有没有一种方法可以通过只执行 export.bash 而不 source 它获取 $VAR? 答: 不可以。 但是有几种可能解决办法。...调用 shell 上下文中执行脚本: $ cat set-vars1.sh export FOO=BAR $ . set-vars1.sh $ echo $FOO BAR 另一种方法是脚本打印设置环境变量命令.../set-vars2.sh)" $ echo "$FOO" BAR 终端上执行 help export 可以查看 Bash 内置命令 export 帮助文档: # help export export...-f 指 shell 函数 -n 从每个(变量)名称删除 export 属性 -p 显示所有导出变量和函数列表 ---- 参考: stackoverflow question 16618071...help eval 相关阅读: 用和不用export定义变量区别 shell编程$(cmd) 和 `cmd` 之间有什么区别 ----

13620

《Linux命令行与shell脚本编程大全》第十四章 处理用户输入

分离参数和选项 如果需要在shell脚本同时使用选项和参数。 解决方案是用特殊字符来二者分开。 shell会用双破折线来表明选项列表结束。双破破折现之后脚本就可以放心剩下命令当做参数了。...14.4.2 使用getopt命令 它能够识别命令行参数,从而在脚本解析它们。 1.命令格式 可以接受一系列任意形式命令行选项和参数,并自动将它们转换成命令行参数。...使用更高级getopts getopt命令行上选项和参数处理结后只生成一个输出。 getopts能够和已有的shell参数变量配合默契。 每次调用它时,它一次只处理命令行上检测到一个参数。...getopts会用到两个环境变量: OPTARG:会保存一个参数值 OPTIND:保存参数列表getopts正在处理参数位置。 getopts知道何时停止处理选项,并且把参数留给你处理。...read 还可以接 –p选项,允许read命令行指定提示符。 还可以指定多个变量,如果变量数量不够,那么剩下数据就全部分配到最后一个变量。 如果没有指定变量名,会放到环境变量REPLY

1.7K50

bashshell 解析命令行参数工具:getoptsgetopt

,比如 rsync、wget 等动辄几十上百参数选项,那就必须用专业工具来处理了, bash/shell 我们一般用:getopts/getopt  1、bash 内置 getopts:...,每个字母代表一个选项,后面带:意味着选项除了定义本身之外,还会带上一个参数作为选项值,比如d:实际使用中就会对应-d 30,选项值就是30;getopts字符串没有跟随:是开关型选项,不需要再指定值...如果命令行包含了没有getopts列表选项,会有警告信息,如果在整个getopts字符串前面也加上个:,就能消除警告信息了。...#当有不认识选项时候arg?...使用getopt时, 命令行输入位置参数是什么, getopt需要保持原样, 比如 -t , getoptcase语句中也要使用-t,  而getopts不要前面的-。

10.7K90

Shell 脚本参数解析工具

Argbash是一个代码生成器,它为你脚本生成一个量身定制解析库。与其他bash模块通用代码不同,它生成你脚本所需最少代码。...使用 getopts 工具 使用第三方工具进行参数解析 实际用法 ./myscript.sh -h ./myscript.sh -v -f 实现脚本 #!.../bin/sh # 重置以防止在前面的shell中使用getopts工具(这是一个POSIX变量) OPTIND=1 # 初始化变量名称 OUTPUT_FILE="" VERSION=0 # getopts...缺点就是它只能处理短选项,如-h,而不能是--help格式 while getopts "h?...使用 argbash 工具 动态参数解析工具 这个工具主要提供脚本参数解析功能,而且不再引用任何第三方库情况下。就我使用而言,一般会比普通脚本多30多行而且,但是效果非常好。

1.7K30

Shell脚本while getopts用法小结

getopts每次被调用时,它会将下一个选项字符放置到变量,OPTARG则可以拿到参数值;如果option前面加冒号,则代表忽略错误; 命令格式: getopts optstring name [arg...这个时候我们就可以使用bash内置getopts工具了,用于解析shell脚本参数!...操作,有两个"常量",一个是OPTARG,用来获取当前选项值;另外一个就是OPTIND,表示当前选项参数列表位移。case最后一项是?...,用来识别非法选项,进行相应操作,我们脚本输出了帮助信息。 3)getopts示例二:当选项参数识别完成以后,就能识别剩余参数了,我们可以使用shift进行位移,抹去选项参数。...当选项参数处理结束后,其指向剩余参数第一个。getopts处理参数时,处理带值选项参数,OPTIND加2;处理开关型变量时,OPTIND则加1。

8.3K74

Bash概论 - Linux系列教程补充篇

#: 行注释 $: 变量表达式,变量解析&: 在后台执行命令,for循环中也可用作命令分割符,取代done前面的; Bash变量 1....引用变量有两种方式, {varname}, 防止变量字符串中产生歧义建议使用第二种方式, 引用未定义变量其值空。...可以把设置保存到.bashrc或.bash_profile, 成为永久环境变量。 环境变量不限于我们之前讲过可执行程序环境变量动态库、Python模块环境变量,任何变量都可以。...有两个参数, 第一个字母和冒号组成选项列表字符串, 第二个一个变量选项列表字符串以冒号开头选项字母排列组成, 如果一选项需要一个参数则该选项字母后跟一个冒号 getopts分解第一参数,...依次选项摘取出来赋给第二个参数变量 如果某选项有参数, 则读取参数到内置变量OPTARG 内置变量OPTIND保存着将被处理命令行参数(位置参数)数值选项列表处理完毕getopts返回1, 否则返回

1.2K70

shell编程:编程就是这么简单

/bin/bash声明脚本类型(更为普遍来说是语言解释器路径),bash脚本,除此之外其余#后面均为注释内容;之后为脚本环境变量例如PATH和LANG设置,对于命令执行非常重要;第三部分为主要程序执行部分...shell脚本,命令行参数可以直接加在脚本后面,脚本里使用默认变量“$n”来调用(n非负整数),下面通过一个小例子来了解shell脚本命令行参数使用方法: echo $0 echo $1 echo...,可以使用getopts函数,该函数可以命令行内容转换为变量。...getopts包含两个内置变量,OPTARG和OPTIND。OPTARG就是选项后面的参数保存在这个变量当中;OPTIND:这个表示命令行下一个选项或参数位置。...getopts从命令获取这些参数,并且删去了“-”,并将其赋值第二个参数,如果带有自己参数,这个参数赋值“OPTARG”

77940

Linux Shell编程零基础入门

编辑完毕,脚本存盘filename.sh,文件名后缀sh表明这是一个Bash脚本文件。...第二十一行循环是参数列表参数一个一个地放入变量file。然后进入循环,判断file是否一个文件,如果是文件的话,则用 sed命令搜索和生成新文件名。...第二十三行,backtick(`)作用是取出两个backtick之间命令输出结果,在这里,也就是结果取出赋给变量 newfile。...getopts语法如下: getopts option_string variable option_string包含一串单字符选项,若getopts命令行参数 发现了连字符,那么它会将连字符之后字符与...有时候,选项还会带一个值,例如-c5等,这时要在option_string选项字母后面加上一个冒号,getopts发现冒号 后,会读取该值,然后将该值放入特殊变量OPTARG

1.2K10

Linux Shell编程入门

编辑完毕,脚本存盘filename.sh,文件名后缀sh表明这是一个Bash脚本文件。...第二十一行循环是参数列表参数一个一个地放入变量file。然后进入循环,判断file是否一个文件,如果是文件的话,则用 sed命令搜索和生成新文件名。...第二十三行,backtick(`)作用是取出两个backtick之间命令输出结果,在这里,也就是结果取出赋给变量 newfile。...getopts语法如下: getopts option_string variable option_string包含一串单字符选项,若getopts命令行参数 发现了连字符,那么它会将连字符之后字符与...有时候,选项还会带一个值,例如-c5等,这时要在option_string选项字母后面加上一个冒号,getopts发现冒号 后,会读取该值,然后将该值放入特殊变量OPTARG

1.4K20

Linux Shell编程入门

编辑完毕,脚本存盘filename.sh,文件名后缀sh表明这是一个Bash脚本文件。...第二十一行循环是参数列表参数一个一个地放入变量file。然后进入循环,判断file是否一个文件,如果是文件的话,则用 sed命令搜索和生成新文件名。...第二十三行,backtick(`)作用是取出两个backtick之间命令输出结果,在这里,也就是结果取出赋给变量 newfile。...getopts语法如下: getopts option_string variable option_string包含一串单字符选项,若getopts命令行参数 发现了连字符,那么它会将连字符之后字符与...有时候,选项还会带一个值,例如-c5等,这时要在option_string选项字母后面加上一个冒号,getopts发现冒号 后,会读取该值,然后将该值放入特殊变量OPTARG

3.8K20

Linux Shell编程入门

这是因为Shell把$as当成一个变量,而$as未被赋值,其值空。正确方法是: echo "Hi, ${a}s" 单引号变量不会进行变量替换操作。...第二十一行循环是参数列表参数一个一个地放入变量file。然后进入循环,判断file是否一个文件,如果是文件的话,则用 sed命令搜索和生成新文件名。...第二十三行,backtick(`)作用是取出两个backtick之间命令输出结果,在这里,也就是结果取出赋给变量 newfile。...getopts语法如下: getopts option_string variable option_string包含一串单字符选项,若getopts命令行参数 发现了连字符,那么它会将连字符之后字符与...有时候,选项还会带一个值,例如-c5等,这时要在option_string选项字母后面加上一个冒号,getopts发现冒号 后,会读取该值,然后将该值放入特殊变量OPTARG

1.1K10

getopt getopts

如果指定了一个不在optstring选项,默认情况下,getopt命令会产生一条错误消息,如果想要忽略,可以加上-q选项; getopt ab:cd -a -b test1 -cd test2 test3...: 定义了4个有效选项,还指定b需要参数值,它会自动-cd选项分成两个单独选项,并插入双破折号来分开行额外参数; 二.getopts 1.使用 getopts optstrings variable...如果选项需要跟一个参数,则在optstrings后跟一个:即可,要去掉错误消息的话,optstrings前加:,getopts命令当前参数保存在命令行定义variablegetopts有两个内置变量...,OPTARG:保存选项参数值,OPTIND:保存了参数列表中正在处理参数位置; getopts命令解析选项时,会移除开头-(单破折号); 选项和参数值连在一起时,getopts也能分别识别它们...,所以使用时选项和参数直接可以不用加空格; getopts能将命令行上未定义选项统一输出成问号。

41410

工作任务项杂记_201904

其它还可以package时自动打docker镜像,deploy时自动docker镜像推入registry,这些高级功能参考官方文档。...114.114.114.114 nameserver 8.8.8.8 专业bash脚本 最近看了istio-sidecar相关bash脚本,发现一个专业bash脚本最好还是不要像写流水帐一样书写脚本逻辑...建议使用Linux风格输入参数风格解析,可以使用bash内置命令getopts和外部命令getopt,这两种方法使用方法可参考shell脚本之shift和getopts、shellgetopt...微服务架构应用,每个微服务都以swagger方式暴露API,这时可以这些API文档聚合起来,请团队成员统一文档中心查看各微服务文档,如下: docker run -d --name swagger-docs...urls选项,这个选项2017年初就已经存在了,不知道为什么网上讲swagger API文档聚合方案基本都是让改造swagger-ui代码,汗!

54120

统计文件夹下某类文件大小小脚本

/bin/bash # 统计一个目录下指定类型或限制某种类型以外文件大小,包括子目录 help() { echo "Description: 用于查找某个目录下特定类型文件数量和总大小,...$((totalSize/1024))M" fi 基础命令 这个脚本难点在于命令行参数处理,因为写这个脚本查阅了一些资料,主流方案是使用下面两个命令: getopts 是 Linux 系统一个内置变量...,一般通过循环方式使用,每次循环 getopts 都会检查命令行选项,并将命令行选项值爆存在 OPTARG 变量 getopt 是一个外部命令,相较于 getopts 命令能够支持长参数,但是使用起来较...getopts 复杂 本文中因为参数比较少且没计划使用长参数,因此采用了 getopts 来处理选项和参数问题。...给你shell脚本写一个--help文档 编写可接受选项和参数shell脚本 getopts 使用

1.2K20

Shell Style Guide

如果使用大写字母,可以添加唯一前缀,如MY_。 变量使用前最好做初始化动作,以防环境同名变量被脚本内引用,出现不可预知情况。 循环中变量名应该和正在被循环变量名保持相似的名称。...),因此,getopts或基于条件来设定常量是可以,但之后应该立即设置其为只读。...例如,列表中所有命令输出可以重定向到单个流。 ( list ) 圆括号之间放置一列命令创建一个子shell环境,列表每个命令将在该子shell执行。...由于该列表是子shell执行,所以子shell完成后,变量分配将不再有效。 { list; } 花括号之间放置一个命令列表导致该列表在当前shell上下文中执行。不创建子shell。...可选项多个命令应该被拆分成多行,模式表达式、操作和结束符 ;; 不同行。 匹配表达式比 case 和 esac 缩进一级。多行操作要再缩进一级。 模式表达式前面不应该出现左括号。

7.5K10

Linux学习笔记(四)

环境变量持久保存两个方法。 1.个人环境变量设置放在/etc/profile.d目录,创建一个.sh结尾文件,所有新或者修改过全局环境变量设置放在这个文件。...) OPTARG getopts命令处理最后一个选项参数值 OPTIND getopts命令处理最后一个选项参数索引号 PATH shell查找命令目录列表,由冒号分隔 PS1 shell命令行界面的主提示符...使用bash -c选项传递过来命令 BASH_LINENO 含有当前执行shell函数源代码行号数组变量 BASH_REMATCH 只读数组,使用正则表达式比较运算符=~进行肯定匹配(positive...通常用来跟踪输出到一个文件 BASHOPTS 当前启用bash shell选项列表 BASHPID 当前bash进程PID COLUMNS 当前bash shell实例所用终端宽度 COMP_CWORD...OPTERR 设置1时,bash sell会显示getopts命令产生错误 OSTYPE 定义shell所在操作系统 PIPESTATUS 含有前台进程退出状态列表数组变量 POSIXLY_CORRECT

1.1K10

BashShell变量

Bash Shell 后就会自动载入写入环境变量从而达到持久化效果。...会检查列表每个文件,看看有没有新邮件) OPTARG getopts 命令处理最后一个选项参数值 OPTIND getopts 命令处理最后一个选项参数索引号 PATH Shell 查找命令目录列表...通常用来跟踪输出到一个文件 BASHOPTS 当前启用 Bash Shell 选项列表 BASHPID 当前 Bash 进程 PID COLUMNS 当前 Bash Shell 实例所用终端宽度...Shell 查看新邮件频率(以秒单位,默认值是 60) OLDPWD Shell 之前工作目录 OPTERR 设置 1 时,Bash Shell 会显示 getopts 命令产生错误 OSTYPE...Bash Shell 选项标志是启动时或以内建命令 set 指定,或者是 shell 自身设置(例如选项 -i)。

2.4K30
领券