如何创建带有参数的命令

如何创建带有参数的命令

我厌倦了

 javac filename.java

进而

 java filename

有没有办法制定我自己的命令?

mycommand filename.java

并且filename.java同时编译和运行了??

答案1

你可以创建非常小的 bash 脚本:

#!/bin/bash
javac "$1"
java `basename "$1" .java`

将其放入/usr/local/bin/runjava.sh,然后执行

sudo chmod 755 /usr/local/bin/runjava.sh

然后你就可以输入

runjava.sh filename.java

编译并运行它。

或者,您可以将runjava.sh(或您自己的名称)放入~/bin文件夹。如果该文件夹不存在,您可以使用命令创建它mkdir ~/bin。打开新终端后,它会PATH自动出现在您的终端中(假设是 Ubuntu 和 bash,无需.bashrc自定义)。

第一种方法将其添加到系统中的所有用户,第二种方法仅将其添加到您。

答案2

所以,假设 bash(您正在运行 ubuntu 对吗?;)),您可以为此创建一个函数...

j () {
  javac "$1" && java "${1%.*}"
}

然后如果你有一个名为的文件PureJavaAwesomeness.java,你可以这样做

j PureJavaAwesomeness.java

这样就可以编译并运行该 java 文件。

编辑:并且,您可能希望将该函数定义放在文件的末尾~/.bashrc,以便每次打开终端时都会加载它。

编辑2:为了获得更多精彩内容,您可以使用此功能

j () {
  cname=${1//\//.}
  cname=${cname%.*}
  javac "$1" && java "$cname"
}

即使您这样做,这也将有效j com/ssk/apps/PackagedClass.java,假设的包PackagedClass.javacom.ssk.apps。(未经测试,但应该可以工作)。

答案3

这对于您的需要来说有点过度了,但是其他人可能会在搜索“如何在 UBUNTU 上创建自己的命令”时偶然发现这个问题。

您可以快速使用 ubuntu-cli-application 模板创建命令并轻松将它们打包为 debs 或使用 ppas 共享。

不过你需要一些 Python 知识。

首次安装迅速地来自软件中心。

然后在终端类型中,

quickly create ubuntu-cli my-program-name

这将为您创建一个包含命令行处理结构的项目目录。您所要做的就是编辑文件以添加您自己的命令。

完成后,你可以使用以下方式与朋友分享你的新命令

quickly package

这将创建一个可在任何 Ubuntu 机器上安装的 DEB 包。

相关内容