Я хочу запустить сценарий оболочки, который копирует файл. Я не люблю делать абсолютную ссылку на этот файл.
myproject/target/myapp.jar
myproject/docs/copy.sh
copy.sh содержит: scp ~/Projects/myproject/target/myapp.jar user@myip:/var/www
Вопрос: как запустить сценарий оболочки copy.sh и ссылаться на myapp.jar родственника? Как сначала подойдя вверх по одной папке, а затем перейдя в /target?
Из myproject/docs/copy.sh вы хотите, чтобы 2 каталога попадали в цель. Вы можете сделать это с помощью ...
../../target/myapp.jar
Это, хотя ...
scp ~/Projects/myproject/target/myapp.jar user@myip:/var/www
Я бы использовал переменную и установил ее в начале вашего скрипта или из конфигурации. Вы не можете использовать ../../ внутри scp, когда у вас есть «Проекты» над ним.
Это даст вам каталог, в котором находится ваш скрипт:
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
Из myproject/docs/copy.sh вы хотите, чтобы 2 каталога попадали в цель. Вы можете сделать это с помощью ...
../../target/myapp.jar
Это, хотя ...
scp ~/Projects/myproject/target/myapp.jar user@myip:/var/www
Я бы использовал переменную и установил ее в начале вашего скрипта или из конфигурации. Вы не можете использовать ../../ внутри scp, когда у вас есть «Проекты» над ним.
Это даст вам каталог, в котором находится ваш скрипт:
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
Из myproject/docs/copy.sh вы хотите, чтобы 2 каталога попадали в цель. Вы можете сделать это с помощью ...
../../target/myapp.jar
Это, хотя ...
scp ~/Projects/myproject/target/myapp.jar user@myip:/var/www
Я бы использовал переменную и установил ее в начале вашего скрипта или из конфигурации. Вы не можете использовать ../../ внутри scp, когда у вас есть «Проекты» над ним.
Это даст вам каталог, в котором находится ваш скрипт:
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"