Intereting Posts
Сопоставьте пустую строку в псевдониме .bashrc Линтиан также проверяет различия между уровнями политики в данном пакете? Как заставить клавиатуру Bluetooth распознаваться перед входом в систему? Несколько указателей мыши неустойчивы Добавить другой под-уровень в подменю KDE в действиях / службах дельфинов? Как успешно выполняется команда passwd из учетной записи, отличной от root Являются файлами UNIX для интернет-сокетов? Как прокомментировать строки, соответствующие шаблону во всех файлах папки Как управлять назначением аргументов Почему параметры сортировки -c (проверьте, отсортированы) и -o (запись в выходной файл), не совместимы Как ускорить миграцию с рейда 5 на рейд 6 с помощью mdadm? Что такое MIME-эквивалент uuencode для sendmail? Linux, resolv.conf – добавление серверов MSDNS и Bind DNS, где MSDNS не является рекурсивным? SELinux и самба Переход к концу / началу строки в «меньше -S»

Абсолютный путь от пользовательского ввода без потери символических ссылок внутри

Возможно ли преобразовать в сценарий оболочки путь ввода пользователя (абсолютный или относительный) к абсолютному пути, но без потери символических ссылок внутри, например / a / b / c – текущий пользовательский dir, а c – символическая ссылка на / a / б / с:

input . => result /a/b/c input ./d => result /a/b/c/d input ../c => result /a/b/c input /a/b/c => result /a/b/c (readlink converts it to /a/b/s, but I need /a/b/c) 

Если я правильно понял ваш вопрос, вам нужно использовать realpath с -s :

-s, –strip Только полоса. и .., компоненты, но не разрешают символические ссылки.

 $ realpath -sa/b/c /tmp/a/b/c $ readlink a/b/c s