Получение короткого пути для ssh

Я пишу сценарий оболочки для использования с ssh/git.

Я хочу получить текущий каталог относительно дома, если это возможно.

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

Например, если бы мой рабочий каталог был /home/jon/folder/other, а я был пользователем jon, а $HOME был /home/jon, я бы получил (~/)folder/other из команды. Тильда-слэш между круглыми скобками необязательна.

Тогда я мог бы дать своему пользователю указание использовать ssh в jon@server:folder/other вместо более длинного jon@server:/home/jon/folder/other.

Есть ли тривиальный способ сделать это (который, как мне кажется, есть) или мне нужен скрипт для этого?


person Jonathan Allard    schedule 09.09.2012    source источник


Ответы (1)


Вы можете использовать следующее выражение:

${PWD#$HOME/}

Операция bash ${string#substring} снимает substring с передней части $string (если они совпадают).

Это может помочь вам с будущими вопросами о bash: рекомендуемые онлайн-ресурсы для изучения сценариев bash

person Reinier Torenbeek    schedule 09.09.2012