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

如何在编译一个kotlin程序到java jar之后转义bash中的*乘法符号,该jar获取args[0]并在控制台中打印它?

在编译一个Kotlin程序到Java JAR之后,转义Bash中的*乘法符号,可以通过在Kotlin代码中使用反斜杠进行转义。具体步骤如下:

  1. 在Kotlin代码中,将乘法符号*转义为*。这样可以确保在Bash中正确解析乘法符号。

示例代码如下:

代码语言:txt
复制
fun main(args: Array<String>) {
    val input = args[0].replace("*", "\\*")
    println(input)
}
  1. 编译Kotlin代码为Java字节码,并生成JAR文件。可以使用Kotlin编译器(kotlinc)来完成此操作。

命令示例:

代码语言:txt
复制
kotlinc MyProgram.kt -include-runtime -d MyProgram.jar

其中,MyProgram.kt是你的Kotlin源代码文件,MyProgram.jar是生成的JAR文件名。

  1. 在Bash中运行生成的JAR文件,并传递参数。确保在参数中使用引号将包含乘法符号的字符串括起来,以避免Bash解析乘法符号。

命令示例:

代码语言:txt
复制
java -jar MyProgram.jar "2 * 3"

其中,MyProgram.jar是生成的JAR文件名,"2 * 3"是包含乘法符号的参数。

  1. 运行上述命令后,程序将获取args[0]的值,并在控制台中打印出来。乘法符号将被正确解析并打印出来。

注意:以上步骤中,并没有提及具体的腾讯云产品和链接地址,因为在这个问题中并没有涉及到与云计算相关的内容。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

《Kotin 极简教程》第16章 使用 Kotlin Native第16章 使用 Kotlin Native《Kotlin极简教程》正式上架:

16.1.3 解释型语言与编译型语言 编译型语言,是程序执行之前有一个单独编译过程,将程序翻译成机器语言,以后执行这个程序时候,就不用再进行翻译了。例如,C/C++ 等都是编译型语言。...虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。在运行时候,由JVM将字节码再翻译成机器语言。...构建完成之后,会在build/konan/bin/目录下面生成一个KotlinorApp.kexe可执行程序直接在 Mac OS 上运行,不再依赖JVM 环境了。...[@]}" 我们可以看出,Kotlin Native 编译器 konan 运行环境还是 JVM 上,但是生成机器码可执行程序是直接运行在对应平台系统上(直接编译成机器语言)。...MinGW 是一组包含文件和端口库,其功能是允许控制台模式程序使用微软标准C运行时(C Runtime)库(MSVCRT.DLL),库在所有的 NT OS 上有效,在所有的 Windows 95发行版以上

1.2K30

Kotlin极简教程》第1章 Kotlin简介

认识一个事物最好方式,首先是取了解历史。...Kotlin编译器kompiler可以被独立出来并嵌入 Maven、Ant 或 Gradle 工具链。这使得 IDE 开发代码能够利用已有的机制来构建,可以新环境自由使用。...if逻辑代码: if [ -n "$KOTLIN_RUNNER" ]; then java_args=("${java_args[@]}" "-Dkotlin.home=${KOTLIN_HOME...我们下面简单介绍一下Eclipse开发Kotlin程序方法。 首先,打开Help > Eclipse Marketplace, 如下图 ?...如果还有精力,我们再去学习语言更底层东西,而不仅仅停留在应用层面。如Java集合类实现算法与数据结构,如JVM是如何执行Java代码。如Java线程和操作系统线程关系。

1K20
  • Kotlin极简教程(第一章 Kotlin简介)

    Kotlin编译器kompiler可以被独立出来并嵌入 Maven、Ant 或 Gradle 工具链。这使得 IDE 开发代码能够利用已有的机制来构建,可以新环境自由使用。...if逻辑代码: if [ -n "$KOTLIN_RUNNER" ]; then java_args=("${java_args[@]}" "-Dkotlin.home=${KOTLIN_HOME...我们观察IDEA控制台输出执行日志,可以看出IDEA集成Kotlin环境使用核心依赖jar包: /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents...Process finished with exit code 0 1.2.4 使用Eclipse 使用Eclipse开发者们,可以通过安装Kotlin插件来进行Kotlin程序开发。...这个配置是.classpath, .project 配置。当然这些配置依赖库,执行程序等等工作是由Eclipse Kotlin插件完成

    2.1K70

    Kotlin 程序设计》第二章 快速开始:HelloWorld

    比如说kotlinc这个程序,我们知道,Kotlin基于Java虚拟机(JVM),通过Kotlinc编译器生成JVM字节码与Java编译字节码基本相同,也因此与Java可以完全兼容,并且语法更加简洁...谷歌称还将与JetBrains公司合作,为Kotlin设立一个非盈利基金会。 JetBrains2010年首次推出Kotlin编程语言,并在次年将之开源。...下一版AndroidStudio(3.0)也将提供支持。 下面我们简要介绍如何在Android上开始一个KotlinHelloWorld程序。 对于我们程序员来说,我们正处于一个美好时代。...然后选择『Browse repositories』,搜索框搜索Kotlin,结果列表Kotlin』插件,如下图 ? 点击安装,安装完成之后,重启Android Studio。...Java代码转换成Kotlin代码之后,打开MainActivity.kt文件,编译器会提示"Kotlin not configured",点击一下Configure按钮,IDEA就会自动帮我们把配置文件写好了

    88310

    万字长文带你APK反编译&重签名&aab&apks转换

    这通常用于理解程序工作原理,进行软件审计,恢复丢失源代码,或者进行教学研究。反编译难度和效果取决于原程序编译过程丢失了多少信息(比如变量名、注释等)。...由于Android应用这一特性,反编译Android应用通常涉及多个步骤,包括反编译APK文件以获取其DEX(Dalvik Executable)文件,然后将DEX文件转换为Java源代码。...jadx 安装包地址:https://github.com/skylot/jadx/releases 功能:一个命令行和图形用户界面应用程序,可以将DEX文件直接反编译Java源代码,无需先转换为JAR...随便创建一个空文件项目 如何查看反编译内容 在上一步,我们创建好了一个空项目,这个时候只要拖着我们apk直接丢到这个项目右侧黑不拉几位置就可以了。...反编译 APK 反编译APK文件: apktool d [apk文件路径] 这条命令会将APK文件反编译一个目录,目录名默认为APK文件文件名。

    1.2K20

    35分钟教你学dart(第二节)

    变量之后添加该调用: print(myAge); // 35 DartPad 单击RUN以运行代码。您将在控制台中看到变量值35。...'; print(quote); // 如果你不能简单地解释 // 你还不够了解。 此示例使用单引号,因此需要一个转义序列 ,\'将can't和don't撇号嵌入字符串。...单击DartPad RUN以控制台中查看所有字符串。 Dart 字符串数据类型 不变性 Dart 使用关键字const和final不改变值。 使用const对于那些在编译时已知值。...Functions 函数使您可以将多行相关代码打包一个主体。然后调用该函数以避免整个 Dart 应用程序重复这些代码行。....map 获取所有列表值并返回一个带有它们新集合。 匿名函数作为参数传递。匿名函数,您有一个drink表示列表每个元素参数。 匿名函数主体将每个元素转换为大写并返回值。

    13.1K30

    shell-编写shell脚本所需基础语法

    总结来说,Shell是一个命令解释器,通过接受用户输入Shell命令来启动、暂停、停止程序运行或对计算机进行控制。...shell脚本就是由Shell命令组成执行文件,将一些命令整合到一个文件,进行处理业务逻辑,脚本不用编译即可运行。通过解释器解释运行,所以速度相对来说比较慢。...获取脚本文件所在目录 path=$(cd `dirname $0`;pwd) : 获取脚本当前所在目录,并且执行cd命令到达目录,使用pwd获取路径并赋值path变量 算术运算 $[...[[ ]]增加模式匹配特效; (( ))不需要再将表达式里面的大小于符号转义,除了可以使用标准数学运算符外,还增加了以下符号 ?...仅在格式字符串中有效 \0ddd :表示13位八进制值字符 ---- 流程控制Java、PHP等语言不一样,sh流程控制不可为空,即if或者else大括号无任何语句 if else if

    89620

    Kotlin 1.2 新特性

    Kotlin 1.1,团队正式发布了JavaScript目标,允许开发者将Kotlin代码编译为JS并在浏览器运行。...跨平台 跨平台项目是 Kotlin 1.2 一个实验性功能,允许开发者从相同代码库构建应用程序多个层——后端、前端和Android应用程序,在这个跨平台方案,主要包含三个模块。...请注意,目前跨平台项目只是一个实验性功能,这意味着功能已经可以使用,但可能需要在后续版本更改设计 编译性能 1.2开发过程,团队花了很多精力来优化编译系统,据官方提供资料显示,与Kotlin...标准库 Kotlin标准库与拆分包 Kotlin标准库现在完全兼容Java 9模块系统,该系统禁止拆分包(多个jar文件一个声明类)。...内联扩展空修复 以前版本平台类型空值上调用内联扩展函数没有检查接收器是否为null,并因此允许null转义其他代码

    1.7K100

    Kotlin学习(三)——基本类型,包,控制流:if、when、for、while,Break和continue

    ,而我们一般写法也和JAVA类似 同时,Kotlin上有一个下划线定义,可以让代码可读性更加强,我们来看下 这段代码输出数字 下划线并不像JAVA一样会影响我们代码,而是让我们代码可读性变得更强...并且JAVA台中,== 和 === 概念 就跟我们JAVA == 和eques类似 这段代码,我们可以看到,我们定义了一个Inta,又定义了两个可空Int 赋值 a,结果算出===false...,但是如果我们 改成== ,那就是值相等了,===是地址相同,很明显,我们是两个不同变量,所以false 另外,Kotlin,小类型也不是大类型子类,所以不存在强转概念 比如这种错误示范 这就隐式转换...我们来写一段演示示例 再来看下Char,Char不能作为一个单独字符或数字存在,需要‘’单引号声明,比如 我们再来看下如何定义一个数组 listOf直接声明,arrayOfNulls声明一个长度固定空数组...、while 1.if表达式 kotlin,if用法不局限于判断,他还会有返回,所以我们写法也很多,比如 2.When表达式 但是我们一般是需要else结尾,而且我们可以用in来表达 当然

    1.3K100

    如何使用 IDEA 创建 Java 入门应用

    1前言 本篇文章,我们将学习如何使用 IDEA 来创建、运行并打包我们一个 Hello World! Java 程序。...通过阅读教程,希望大家能对如何使用 IDEA 来创建、运行并打包 Java 程序一个简单了解,熟悉一下 IDEA 一些简单使用技巧,去感受 IDEA 为我们开发者所带来便利,接下来我们就来具体看看具体创建...; } } 4编译并运行项目 代码写好之后,我们先编译下代码,选择工具栏编译按钮(也可以使用快捷键 Ctrl + F9),项目就会自动进行编译。...6运行 JAR 应用 既然我们把项目打包了,那这个时候我们就不需要再在 IDEA 中就能运行我们项目。找到我们打包好 HelloWorld.jar,然后控制台中运行如下命令即可。...7总结 今天内容就到此结束了,本文主要讲了如何利用 IDEA 来创建、编译、运行、打包我们 Java 项目。如果你有更多关于 IDEA 使用小技巧,欢迎评论区留言。

    1.4K20

    J 神提问:除以 2 还是右移 1 ?

    类库一些数据结构使用基于数组实现二叉树来存储元素。 Java 代码中有许多地方使用 移位操作 来代替二次幂乘除法。...这里没有进行任何优化,但是如果你对 java 有所了解的话,也不会感到意外。javac 并不是一个会进行优化编译器,而是把大部分工作留给了 JVM 上运行时编译器或者 AOT 。...ART 识别到了这两个方法具有一样方法体,并在编译成 x86 汇编代码时进行了去重操作。... Android 10 Pixel4 设备上执行相同指令,来看看 ART 是如何将代码编译成 ARM 汇编代码。...Kotlin 提供了无符号类型 UInt ,提供了一样功能,但和 Java 不一样是,独立抽象为一个数据类型。可以想象是,二次幂除法肯定可以用右移操作重写。

    1.2K20

    Linux系统sh脚本编写

    一、开头 程序必须以下面的行开始(必须方文件第一行): #!/bin/sh或者#!/bin/bash 符号#!用来告诉系统后面的参数是用来执行该文件程序。...在这个例子我们使用/bin/sh来执行程序。 当编写脚本完成时,如果要执行脚本,还必须使其可执行。 要使编写脚本可执行: 编译 chmod +x filename 这样才能用...../123.sh) 二、注释 进行shell编程时,以#开头句子表示注释,直到这一行结束。 三、变量 shell编程,所有的变量都由字符串组成,并且不需要对变量进行声明。...五、Shell命令和流程控制 a,打印信息 echo “哈哈哈”: 将文字内容打印屏幕上 更多解释详情,请访问:http://tsov.net/sh-script-syntax/ 六、简单脚本...echo "Startup project $project" #项目启动需要执行命令 nohup java -jar /home/jar/jarweb.jar > nohup.out 2>&1

    7.8K10

    Java 应用容器化最佳实践

    如果只需要运行 Java 程序比如一个 jar 包, 那么 JRE 足以; 但是如果期望在运行时捕获一些信息进行调试, 那么应该选择 JDK....-${VERSION}-SNAPSHOT.jar Bash-c 方式 除了直接执行和 exec 方式其实还有一个我称之为 “不稳定” 解决方案, 就是使用 bash -c 来执行命令; 使用 bash...bash 上: 当使用 bash 启动脚本后, bash 会 fork 一个子进程; 而不管是 tini 还是 dump-init 转发逻辑都是将信号传递进程组; 只要进程组父进程响应了信号...众所周知, Java 是有虚拟机, Java 代码被编译成 Class 文件然后 JVM 运行; JVM 默认会根据操作系统环境来自动设置堆内存(HeapSize), 而容器化 Java 应用面临挑战其一就是如何让..., 而不论哪样只要使用了域名就会涉及 DNS 缓存问题; Java DNS 缓存是由 JVM 控制, 不要理所当然以为 JVM DNS 缓存非常友好, 某些时候 DNS 缓存可能超出预期.

    2.1K30

    【小家运维】达到Linux第三阶段常用命令笔记记录—Part Ⅲ

    当然还包括我们Java Web服务,线程需要一直运行着~~~ 为何关闭窗口/断开链接,正在运行程序会死掉?...当终端接口检测到网络连接断开时,会给给控制进程(会话期首进程)发送一个挂断信号(终止程序信号) 如果会话期首进程终止,则信号发送到该会话期前台进程组,从而导致进程停止 因此当网络断开或终端窗口关闭后...概念说明:nohup 命令运行由 Command 参数和任何相关 Arg 参数指定命令,忽略所有挂断(SIGHUP)信号。注销后使用nohup 命令运行后台中程序。...要运行后台中 nohup 命令,添加 & ( 表示”and”符号命令尾部。...export是**将一个变量导出**,以给其他shell程序使用,能影响子shell(不用export定义变量只对shell有效,对子shell也是无效) 直接执行一个脚本文件是一个子shell

    1.8K20

    Kotlin Native实战开发

    主要包含一个基于LLVM后端编译一个Kotlin本地运行时库。...所谓编译型语言,是指使用专门编译器、针对特定平台/操作系统将某种高级语言源代码一次性编译平台硬件能够执行机器码,编译生成可执行程序可以脱离开发环境,特定平台上独立运行。..." "${konan_args[@]}" 可以发现,Kotlin Native编译器konan运行环境还是需要JVM环境支持,但是生成机器码可执行程序是不需要JVM环境支持,可以直接运行在对应平台系统上...而kotlinor.def是Kotlin Native与C 语言互操作配置文件,可以kotlinor.def里面配置C源码Kotlin映射关系,配置文件内容如下。...Kotlin Native时,需要先把编译器/bin目录加入系统path环境,然后再执行make命令,编译完成之后就可以项目的build/kotliner目录中找到kotliner.kexe

    1.2K20

    Android 逆向之 smali

    ,p0不一定是函数一个参数: 非static函数,p0代指“this”,p1表示函数一个参数,p2代表函数第二个参数… static函数p0才对应第一个参数(因为Javastatic...一个private函数,如果修改smali时错用invoke-virtual或invoke-static将在回编译程序运行时引发一个常见VerifyError invoke-virtual: 用于调用....line 279 return-void .end method 另外注意.line这个标识,它是标注了代码Java文件行数,Dalvik VM运行.line XX时就将这个值存起来...Huang 教授提出,它是保证被测程序原有逻辑完整性基础上程序插入一些探针(又称为“探测仪”),通过探针执行并抛出程序运行特征数据,通过对这些数据分析,可以获得程序控制流和数据流信息,...比较好方法是:把想要增加逻辑先用java写成一个apk,然后把这个apk反编译成smali文件,随后把反编译这部分逻辑smali文件插入目标程序smali文件夹,然后再在原来方法上采用

    1.9K31

    类加载器知识点吐血整理

    思考 我们平时写代码或程序到底是如何运行起来呢? 比如我开发用java 语言,源码是是 .java 文件,但他们是没有办法运行。...通常我们会打成 jar 包,然后部署服务器上,其实我们所说打包就是编译,即把 java 文件编译成 .class 字节码文件,那如何执行这些 .class 字节码文件呢?...符号引用 其实上面的引用关系就是符号引用 但在程序运行时,光有符号引用是不够,系统需要明确知道方法位置,所以 jvm 为每个类准备了一张方法表,将其所有的方法都列入到了方法表,当需要调用一个方法时...通过解析操作,符号引用可以转变为目标方法类方法表位置,使得方法被成功调用。 初始化 初始化是类加载最后一个阶段,只要前面的阶段都没有问题,就会进入初始化阶段。那初始化阶段做什么工作呢?...小总结 通过上面的介绍,我想大家应该了解了我们平时写代码,最后到底是如何运行起来了吧,总之一句话就是我们编写 java 文件,会被编译成 class 字节码文件,然后由 jvm 把主动使用类加载到内存

    37520

    Kotlin 1.2 新增了哪些特性?

    下面是一个示例: 通用代码: ? JVM 平台中,代码如下所示: ? 详细信息请参考此文档,并按照步骤构建多平台项目。...如果调用一个返回类型参数 T 并将返回值转换为特定类型 Foo 泛型方法,则编译器现在可以理解此调用 T 需要绑定 Foo 类型。...标准库 Kotlin 标准库 artifacts 及拆分包 Kotlin 标准库现在完全兼容 Java 9 模块系统,它会禁止对包进行拆分(多个 jar 包文件一个声明类)。...这可能会影响应用程序整体性能;仅在多个类之间共享一些复杂状态并在类初始化时更新时才使用它。 “手工”解决方法是将控制子表达式值存储变量,而不是直接在调用参数对它们进行求值。...破坏性变更:通过内联扩展接收器修复平台 null 转义 平台类型空值上调用内联扩展函数并没有检查接收器是否为 null,并因此允许 null 转义其他代码

    2.8K10

    使用NGINX反向代理部署Spring Boot应用

    本文介绍如何创建一个简单Spring Boot应用,然后通过NGINX反向代理进行发布。 开始之前 你需要一个同时装有Java 8和NGINXLinode虚拟主机。...若需要了解如何为生产环境配置NGINX,请参阅NGINX入门指南。 文本编辑器打开/etc/apt/sources.list,并在文件最后追加以下内容。...按照控制台中打印说明操作: source "/home/username/.sdkman/bin/sdkman-init.sh" 验证SDKMAN!是否已安装: sdk help 4....此示例创建一个Endpoint以Spring应用返回"Hello world"。需添加两个额外引用和一个新类。...构建应用程序。这将在在项目中创建一个名为build新目录。 ./gradlew build 4. 运行嵌入了Tomcat服务器应用。应用将在localhost:8080上运行。

    9.7K40
    领券