shell 脚本初步,启动可执行 jar 文件
2013-09-06 08:49
423 查看
可能很多同学在看到这篇文章的时候是第一次接触 shell 脚本。所以我们首先需要了解什么是 shell 脚本。
在 Windows 里我们经常会看到一种扩展名为 .bat 的文件,它称为批处理文件。批处理文件的作用是把许多个命令放在一个文件里,当运行这个文件的时候就执行文件中的所有命令。其实 shell 脚本与批处理非常相似。但是它即然被称为“脚本”那必然有不同的地方。
Linux 中的 shell 脚本是一种文本文件,与 Windows 中的批处理文件一样。我们可以用任何一款文本编辑器打开它。包括 Windows 中的记事本、写字板,以及 Word。也许是因为它具备了一些可编程的特征,可以执行较为复杂的功能,所以被称为“脚本”。
建议在编写 shell 脚本的时候使用图形化的编辑器。计算机始终是工具,发明工具的初衷是化繁为简、提高效率。我们进入“红旗 5.0”后用鼠标左键单击“开始”-->“应用程序”-->“附件”-->“文本编辑器”打开 KEdit 文本编辑器。输入如下内容。
#!/bin/sh
echo 如果不能正常运行,请安装 Java 虚拟机 1.6 版
java -jar JavaApplication1.jar &
然后我们将它保存成 startjar。
看看是不是太简单了。第一句是声明喽,这是一个脚本文件。符号 #! 是告诉系统后面的参数是用来执行该文件的程序,这里我们使用 /bin/sh 来执行程序。(脚本语言解释器?)
echo 命令是用来在终端中打印或显示后面的内容。而最下面一行学过一点 Java 编程的人都知道是 Java 虚拟机带的用了运行 Java 可执行 Jar 文件的命令,JavaApplication1.jar 是要执行的文件名。但后面跟着一个 & 符号是什么意思呢?
我们每次在终端中运行一个命令的时候,这个命令就要占用终端里当前的会话。只有当这个命令运行完之后才会释放会话。释放会话的标志就是出现提示符。如 果我们执行了一个很大的程序通常要等半天才能看见提示符。& 符号跟在要运行的命令后面就是告诉终端这个命令启动后在后台运行并且释放当前的会话。结果就是“输入命令”-->“敲下回车”-->“启运命 令”-->“释放会话”,很快就能见到提示符,好让我们输入下一条命令。
现在让我们打开终端,输入如下命令:chmod +x <路径> <文件名>,或:chmod 775 <路径> <文件名>。命令的意思是这样的:chmod 用于更换文件或目录的权限。+x、775 是参数,都是用于将刚才编写的文本文件变成可执行的脚本文件。
现在我们进入脚本文件当前的目录,执行我们刚才建立的 startjar 文件。需要注意的是,我们刚才建立的脚本需要放在与可执行的 jar 文件相同的目录中才有效。
现在我们差不多能同时看到执行 jar 文件后打开的 Java 程序界面,和终端提示符。
在 Windows 里我们经常会看到一种扩展名为 .bat 的文件,它称为批处理文件。批处理文件的作用是把许多个命令放在一个文件里,当运行这个文件的时候就执行文件中的所有命令。其实 shell 脚本与批处理非常相似。但是它即然被称为“脚本”那必然有不同的地方。
Linux 中的 shell 脚本是一种文本文件,与 Windows 中的批处理文件一样。我们可以用任何一款文本编辑器打开它。包括 Windows 中的记事本、写字板,以及 Word。也许是因为它具备了一些可编程的特征,可以执行较为复杂的功能,所以被称为“脚本”。
建议在编写 shell 脚本的时候使用图形化的编辑器。计算机始终是工具,发明工具的初衷是化繁为简、提高效率。我们进入“红旗 5.0”后用鼠标左键单击“开始”-->“应用程序”-->“附件”-->“文本编辑器”打开 KEdit 文本编辑器。输入如下内容。
#!/bin/sh
echo 如果不能正常运行,请安装 Java 虚拟机 1.6 版
java -jar JavaApplication1.jar &
然后我们将它保存成 startjar。
看看是不是太简单了。第一句是声明喽,这是一个脚本文件。符号 #! 是告诉系统后面的参数是用来执行该文件的程序,这里我们使用 /bin/sh 来执行程序。(脚本语言解释器?)
echo 命令是用来在终端中打印或显示后面的内容。而最下面一行学过一点 Java 编程的人都知道是 Java 虚拟机带的用了运行 Java 可执行 Jar 文件的命令,JavaApplication1.jar 是要执行的文件名。但后面跟着一个 & 符号是什么意思呢?
我们每次在终端中运行一个命令的时候,这个命令就要占用终端里当前的会话。只有当这个命令运行完之后才会释放会话。释放会话的标志就是出现提示符。如 果我们执行了一个很大的程序通常要等半天才能看见提示符。& 符号跟在要运行的命令后面就是告诉终端这个命令启动后在后台运行并且释放当前的会话。结果就是“输入命令”-->“敲下回车”-->“启运命 令”-->“释放会话”,很快就能见到提示符,好让我们输入下一条命令。
现在让我们打开终端,输入如下命令:chmod +x <路径> <文件名>,或:chmod 775 <路径> <文件名>。命令的意思是这样的:chmod 用于更换文件或目录的权限。+x、775 是参数,都是用于将刚才编写的文本文件变成可执行的脚本文件。
现在我们进入脚本文件当前的目录,执行我们刚才建立的 startjar 文件。需要注意的是,我们刚才建立的脚本需要放在与可执行的 jar 文件相同的目录中才有效。
现在我们差不多能同时看到执行 jar 文件后打开的 Java 程序界面,和终端提示符。
相关文章推荐
- shell 为jar文件,编写可执行启动脚本
- Linux(Ubuntu)下设置开机启动shell脚本执行Java程序jar包
- Linux下为可执行shell脚本文件(.sh),制作桌面启动快捷方式
- linux下shell脚本执行jar文件
- Ubuntu下执行Shell脚本文件
- 启动springboot jar脚本和jenkins集成gitlab执行execute shell
- android系统开发小知识-启动脚本文件内部的执行顺序
- 执行系统命令并且将输出写到指定日志文件的shell脚本(2)
- 避免启动container运行shell脚本执行完成后docker退出
- Linux下运用sh脚本运行可执行的jar文件
- Windows下记事本编辑的Shell脚本放到Linux下执行出错,格式问题(/bin/bash^M: bad interpreter: 没有那个文件或目录)
- Hudson 执行shell脚本(Hudson 启动Tomcat 无效问题)(jenkins同理)
- 远程执行命令和文件分发shell脚本
- Shell脚本与文件的执行
- DOS命令 SHELL命令 BAT命令 执行 java 的 class文件和Jar文件
- Linux下shell脚本启动jar包
- shell脚本控制jar的启动和停止
- 老男孩教育每日一题-第102天-如何找出/usr/local 下面所有shell脚本文件,并设置执行权限?
- Linux启动和关闭时自动执行的所有脚本文件
- shell执行scala文件脚本