Определение каталога и подкаталога в подоболочке, упрощение - PullRequest
0 голосов
/ 28 апреля 2020

Сделал следующий скрипт для запуска приложения

#!/bin/bash

DIRECTORY=$(dirname $0)
LAST_VERSION=$(ls -t "$DIRECTORY"/new_version/ | head -1)

java -jar "$DIRECTORY/new_version/$LAST_VERSION"

Я определяю каталог, в котором расположен этот скрипт, затем определяю последнюю версию приложения в подкаталоге и запускаю его.

Я думаю, это выглядит довольно громоздко. Раздражает повторное использование DIRECTORY переменной и повторение new_version. Просто кажется таким "трудным" для такого маленького сценария, или я ошибаюсь? Может быть, есть какой-то способ или хитрости, чтобы сделать это проще? Thx.

1 Ответ

0 голосов
/ 28 апреля 2020

Вы можете использовать расширение параметра для удаления имени сценария из $0 и использовать шаблон glob для обнаружения файла jar в каталоге new_version:

#!/bin/bash

java -jar "${0%/*}/new_version/"*.jar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...