在 ksh 脚本中查找最新文件/jar 的值并将其保存到变量中

发布于 2025-01-10 21:17:45 字数 708 浏览 3 评论 0原文

我承认自己是 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ㄟ。诗瑗 2025-01-17 21:17:45

将: 更改

jartolaunch = find . -name bondac*.jar | awk '{print substr($1,3);}'

为:

jartolaunch=$(find . -name bondac*.jar | awk '{print substr($1,3);}')

或更好:

jartolaunch=$(find . -name bondac*.jar -printf '%P\n')

Change:

jartolaunch = find . -name bondac*.jar | awk '{print substr($1,3);}'

to:

jartolaunch=$(find . -name bondac*.jar | awk '{print substr($1,3);}')

or better:

jartolaunch=$(find . -name bondac*.jar -printf '%P\n')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文