Расширение переменной оболочки в скрипте - PullRequest
0 голосов
/ 27 октября 2018

Если я определю свою папку архива в своей среде и экспортирую ее, как мне получить к ней доступ в сценарии оболочки и запустить программу?

ARCHIVE=/home/kschmidt/public_html/CS265/Assignments/DrMath/Archive
export ARCHIVE
./prob1

В настоящее время мой prob1 содержит этот код, который я получаю при попытке запуска.

#!/bin/bash
print ARCHIVE

Ответы [ 2 ]

0 голосов
/ 27 октября 2018

код prob1 должен выглядеть следующим образом:

#!/bin/bash
bash $ARCHIVE

, затем prob1 запускается так:

bash prob1

Надеюсь, это поможет.

0 голосов
/ 27 октября 2018

Вы расширяете переменную оболочки, добавляя к ней префикс $ и печатая ее с помощью команды echo или printf - оболочка не имеет команды print:

echo "$ARCHIVE"

или

printf '%s\n' "$ARCHIVE"

Кроме того, в скрипте нецелесообразно использовать относительные пути (как в ./prob1), если вы явно не cd обращаетесь к каталогу, где существует prob1.Итак, либо:

  • сделайте явный cd каталог скрипта перед его вызовом с относительным путем

или

  • useабсолютный путь (как в / path / to / prob1)

Связанный:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...