在 ksh 脚本中找到最新 file/jar 的值并保存到变量
In a ksh script find value of latest file/jar and save to a variable
就 RHEL 而言,我自认是初学者水平,我可以四处导航、查找东西、运行 东西等等。而且我只有 DEV、INT、PROD 和 BCP 的基本权限服务器在我的客户,因为我的大部分时间都花在了复杂的开发上。
我使用 ksh 脚本来启动 Tomcat,对于我的项目的新版本,它是一个 SpringBoot 可启动的 JAR 文件。新部署将具有从 Nexus 部署的动态变化的 jar/file 名称,这样我将需要查找它而不是固定名称(在 /webapps 中展开文件夹的旧 Tomcat 设置中)最后会有一个不断变化的版本号。
我想到了这个:
find . -name bondac*.jar | awk '{print substr(,3);}'
它适用于 CLI,所以我将它添加到我的启动 ksh 文件(以前使用固定的 jar 名称),如下所示:
jartolaunch = find . -name bondac*.jar | awk '{print substr(,3);}'
java -jar $jartolaunch --spring.config.location=/data/chronos/activepivot/config/application.yml && sleep 1 && check_process
然而,当 ksh 为 运行 时,这给出了错误 'jartolaunch not found'。
变化:
jartolaunch = find . -name bondac*.jar | awk '{print substr(,3);}'
至:
jartolaunch=$(find . -name bondac*.jar | awk '{print substr(,3);}')
或更好:
jartolaunch=$(find . -name bondac*.jar -printf '%P\n')
就 RHEL 而言,我自认是初学者水平,我可以四处导航、查找东西、运行 东西等等。而且我只有 DEV、INT、PROD 和 BCP 的基本权限服务器在我的客户,因为我的大部分时间都花在了复杂的开发上。
我使用 ksh 脚本来启动 Tomcat,对于我的项目的新版本,它是一个 SpringBoot 可启动的 JAR 文件。新部署将具有从 Nexus 部署的动态变化的 jar/file 名称,这样我将需要查找它而不是固定名称(在 /webapps 中展开文件夹的旧 Tomcat 设置中)最后会有一个不断变化的版本号。
我想到了这个:
find . -name bondac*.jar | awk '{print substr(,3);}'
它适用于 CLI,所以我将它添加到我的启动 ksh 文件(以前使用固定的 jar 名称),如下所示:
jartolaunch = find . -name bondac*.jar | awk '{print substr(,3);}'
java -jar $jartolaunch --spring.config.location=/data/chronos/activepivot/config/application.yml && sleep 1 && check_process
然而,当 ksh 为 运行 时,这给出了错误 'jartolaunch not found'。
变化:
jartolaunch = find . -name bondac*.jar | awk '{print substr(,3);}'
至:
jartolaunch=$(find . -name bondac*.jar | awk '{print substr(,3);}')
或更好:
jartolaunch=$(find . -name bondac*.jar -printf '%P\n')