Копирование файла на уровень выше при использовании $ (pwd) - PullRequest
0 голосов
/ 05 марта 2019

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

$ (pwd) - один уровеньup

Я работаю над сценарием, в котором автор создал переменную

currentlocation=$(pwd)

Затем переходит в другую папку с именем scripts и использует cp -p $currentlocation/* . для копирования всех сценариев впапка Scripts.

Я добавил новый скрипт на уровне папки выше currentlocation, который я хотел бы скопировать в папку Scripts.

Буду очень признателен, если кто-то сможетЯ знаю строку кода для достижения этой цели.

Я пробовал

cp -p $currentlocation/../newScript

и

cp -p $currentlocation/..:/newScript

, но пока не повезло

1 Ответ

0 голосов
/ 05 марта 2019

Вы можете добавить эту строку, чтобы скопировать скрипт из верхнего каталога:

cp -p ${currentlocation%/*}/newScript .

Чтобы получить каталог на один уровень выше, из переменной currentlocation, которая содержит текущийрабочий каталог, вы должны удалить последний / и все после него.

Другой способ получить каталог одного уровня:

dir=$( dirname "$currentlocation" ) или dir=$( dirname "$PWD" )

В любом случае, этоне рекомендуется ссылаться на каталог / пункт назначения, как в вашем случае с "."вместо этого следует использовать абсолютные пути.

...