在 ksh 脚本中查找最新文件/jar 的值并将其保存到变量中
我承认自己是 RHEL 的初学者,我可以四处导航、查找内容、运行内容等。而且大部分时间我对客户端的 DEV、INT、PROD 和 BCP 服务器只有基本权限正在进行复杂的开发。
我使用 ksh 脚本来启动 Tomcat,对于我的项目的新版本,它是一个 SpringBoot 可启动的 JAR 文件。新的部署将采用从 Nexus 部署的动态更改的 jar/文件名,这样我将需要查找它,而不是固定名称(在旧版 Tomcat 设置中 /webapps 中的分解文件夹中),因为它将具有不断变化的版本号在最后。
我想出了这个:
find . -name bondac*.jar | awk '{print substr($1,3);}'
它在 CLI 上工作,所以我将它添加到我的启动 ksh 文件(以前使用固定的 jar 名称),如下所示:
jartolaunch = find . -name bondac*.jar | awk '{print substr($1,3);}'
java -jar $jartolaunch --spring.config.location=/data/chronos/activepivot/config/application.yml && sleep 1 && check_process $1
但是,当 ksh 运行时,这会给出错误“jartolaunch not find”。
I am a self-confessed beginner level when it comes to RHEL and I can navigate around, find things, run things etc. And I only have basic permissions on my DEV, INT, PROD and BCP servers at my client as most of my time is taken up in complex development.
I use ksh scripts to launch Tomcat, and for the new version of my project it is a SpringBoot launchable JAR file. New deployments will feature a dynamically changing jar/file name deployed from Nexus such that instead of the fixed name (in the older Tomcat setup for exploded folder in /webapps) I will need to look it up as it'll have a changing version number at the end.
I came up with this:
find . -name bondac*.jar | awk '{print substr($1,3);}'
Which works on CLI, so I added it to my launch ksh file (which worked previously with fixed jar name) like so:
jartolaunch = find . -name bondac*.jar | awk '{print substr($1,3);}'
java -jar $jartolaunch --spring.config.location=/data/chronos/activepivot/config/application.yml && sleep 1 && check_process $1
However this gives the error, when ksh is run, of 'jartolaunch not found'.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将: 更改
为:
或更好:
Change:
to:
or better: