Запуск команд из корневого каталога новой рабочей области

У меня есть сценарий оболочки, в котором cd находится в определенном каталоге для запуска набора файлов python. Теперь, когда я сделал это для управления исходным кодом (сценарий и файлы python), я клонирую это в рабочее пространство Jenkins и хочу запускать файлы оттуда. Сценарий в настоящее время записывается в неподвижный cd в локальный репозиторий, а не в рабочее пространство Jenkins, поэтому клонирование репозитория становится излишним. Как написать команду cd, чтобы он распознал файл, существующий в рабочем пространстве Jenkins, и запускает его оттуда вместо локальных файлов, существующих на одной машине

One Solution collect form web for “Запуск команд из корневого каталога новой рабочей области”

Если я правильно понял, вы хотите, чтобы ваш test каталог находился в том же месте, что и скрипт.

Вы можете получить местоположение сценария (независимо от вашего текущего каталога при его запуске) следующим образом:

 MYPATH=`dirname \`readlink -e "$0"\`` 

Тогда вы можете сделать, например

 cd "$MYPATH/test" 

Объяснение:

$0 – это имя (включая путь) скрипта.

readlink -e /foo/bar дает вам абсолютное расположение / foo / bar (также разрешает любые символические ссылки).

dirname отключает файловую часть и оставляет вам путь

  • Почему тире расширяется \\\\ по-разному до bash?
  • Ошибка: неоднозначное перенаправление при передаче вывода команде
  • Есть ли альтернатива использованию rbash для ограничения пользователя в моей системе?
  • Ошибка Bash: «
  • Есть ли заклинание командной строки для сохранения определенных столбцов по имени в CSV-файле?
  • Изменить разрешение папки на основе list.txt
  • уничтожение всех процессов, связанных со сценарием
  • Является ли разумным подход к «резервному копированию» переменной $ IFS?
  • Есть ли элегантный способ установить переменную оболочки в содержимое файла?
  • выйдите из сценария, если строка ls не нашла соответствия
  • Перемещение подкаталога в новый родительский каталог, где новое имя каталога увеличивается на 1
  • Как мне сохранить параметры команды от нарушения других сценариев, выполняемых в моей команде?
  • Interesting Posts

    Информация о сетевом интерфейсе в AIX

    Состояние внутри строки в Bashscript

    Разбор C-стиля Многострочный комментарий

    перенаправить вывод скрипта python в файл

    awk help – изменение после многострочного контекста

    Настройка семейного сервера

    Получение современной rss2email для ссылки на ссылки Markdown

    Как убить все процессы, не имеющие определенного родительского процесса?

    Может ли пользователь AIX, который появляется в etc / group, но не etc / passwd, все еще регистрируется на сервере?

    Как использовать rsync? : Крупные резервные копии проектов через общий ресурс NFS

    bash + как хранить скрипты оболочки

    Выделенные, одиночные приложения linux boxes

    Может ли кто-нибудь перечислить самые ранние общедоступные исходные коды и когда они откроются?

    Могу ли я сделать так, чтобы все новые пользователи, созданные в будущем, по умолчанию имели истекший пароль?

    Какая команда всегда генерирует один и тот же UUID через / proc / sys / kernel

    Linux и Unix - лучшая ОС в мире.