Рейтинг:0

Как я могу использовать один и тот же подстановочный знак в разных частях команды?

флаг ng

Скажем, у меня есть следующая команда, которая создает символическую ссылку из одного файла в другой, присваивая ссылке то же имя без расширения.

sudo ln -s ~/foobar/abc.sh ~/fubar/abc

Как я могу сделать то же самое, но для ~/фубар/*.ш?

user10489 avatar
флаг in
Скорее всего, sudo здесь не нужен. Использование sudo, когда оно не нужно, в конечном итоге вызовет проблемы.
Рейтинг:3
флаг cn

Переименование файлов, а в вашем случае создание симлинков, ммв будет достаточно.

mmv -s '~/foobar/*.sh' '~/fubar/#1'
  • Чтобы результирующая ссылка указывала на источник, либо имя источника должно начинаться с символа «/», либо цель должна находиться либо в текущем, либо в исходном каталоге. Если ни одно из этих условий не выполняется, ссылка отклоняется. Однако источник и цель могут находиться на разных устройствах, а источником может быть каталог.
Рейтинг:2
флаг cn
raj
для fn в ~/foobar/*.sh ; делать
sudo ln -s $fn ~/fubar/`базовое имя $fn .sh`
сделано

Это предполагает, что ни один из *.ш файлы имеют пробелы, если имя файла. Если это так, вам нужно процитировать оба аргумента для пер -с команда:

для fn в ~/foobar/*.sh ; делать
sudo ln -s "$fn" "~/fubar/`базовое имя $fn .sh`"
сделано
raj avatar
флаг cn
raj
@steeldriver ОП хочет создать символические ссылки в **другом** каталоге. Поэтому я использовал `basename`. Ваша команда этого не делает.
флаг hr
Упс... правописание > я

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.