Чтобы сделать буквально то, что вы сказали, вы можете попробовать:
ls > `pwd`.txt
, который будет использовать полный путь, что должно быть хорошо.
Обратите внимание, что если вы делаете это в своем домашнем каталоге, который может
находиться в / home / hoboben, вы будете пытаться создать /home/hoboben.txt,
текстовый файл в каталоге выше.
Это то, что вы хотели?
Если вы хотите, чтобы каталог содержал файл, названный в его честь, вы получите
базовое имя текущего каталога и добавьте его с помощью .txt к pwd.
Теперь вместо использования команды pwd ... почему бы не использовать переменную среды PWD?
Например:
ls > $PWD.txt
или
ls > ${PWD}.txt
это, вероятно, то, что вы пытались вспомнить своим вторым примером.
Если вы находитесь в / home / hoboben и хотите создать /home/hoboben/hoboben.txt, попробуйте:
ls > ${PWD}/${PWD##*/}.txt
Если вы сделаете это, файл будет содержать собственное имя, поэтому чаще всего вы можете исправить это одним из нескольких способов. Вы можете перенаправить куда-нибудь еще и переместить файл или дать имя файлу, начинающемуся с точки, чтобы скрыть его от команды ls, если вы не используете флаг -a (а затем можете переименовать полученный файл).
Я пишу свои собственные сценарии для управления иерархией каталогов музыкальных файлов и использую подкаталоги с именем «.info», например, для хранения данных дорожек в некоторых запасных файлах (в основном я «скрываю» метаданные таким образом). Это работает хорошо, потому что мои потребности просты, а моя коллекция мала.