Симлинковые каталоги и перенаправление вывода

mkdir выдаст ошибку, если каталог уже существует.

mkdir-p НЕ БУДЕТ выдавать ошибку, если каталог уже существует. Кроме того, каталог останется нетронутым, т. е. содержимое останется прежним.

1
08.10.2019, 11:26
2 ответа

Просто:

(cd symlinked-dir && pwd) >> tmp && cat tmp

Где мы запускаем cdв подоболочке, чтобы он влиял только на эту подоболочку и выполнял перенаправление вне подоболочки (и даже до того, как подоболочка была создана ).

Замените pwdна pwd -P, если вы хотите, чтобы канонический (символическая ссылка -свободный )абсолютный путь symlinked-dir. Хотя если у вас есть команда realpath, то вы можете сделать это просто с помощью realpath symlinked-dir > tmp.

2
27.01.2020, 23:30

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

.

cd symlinked-dir && echo $(pwd) >> $(realpath -s $(pwd)/../tmp) && cd.. && cat tmp

0
27.01.2020, 23:30

Теги

Похожие вопросы