mkdir выдаст ошибку, если каталог уже существует.
mkdir-p НЕ БУДЕТ выдавать ошибку, если каталог уже существует. Кроме того, каталог останется нетронутым, т. е. содержимое останется прежним.
Просто:
(cd symlinked-dir && pwd) >> tmp && cat tmp
Где мы запускаем cd
в подоболочке, чтобы он влиял только на эту подоболочку и выполнял перенаправление вне подоболочки (и даже до того, как подоболочка была создана ).
Замените pwd
на pwd -P
, если вы хотите, чтобы канонический (символическая ссылка -свободный )абсолютный путь symlinked-dir
. Хотя если у вас есть команда realpath
, то вы можете сделать это просто с помощью realpath symlinked-dir > tmp
.
Как было указано, чтение ..
каталога нам не поможет, поэтому мы должны решить эту проблему на уровне символического пути. Один из способов сделать это указан ниже :
cd symlinked-dir && echo $(pwd) >> $(realpath -s $(pwd)/../tmp) && cd.. && cat tmp