Я пытаюсь написать псевдоним, который будет переходить в каталог-потомок cwd, который содержит указанный файл (или первое find
найденное вхождение такого имени файла):
Следующая комбинация команд дает желаемый результат:
cd `dirname \`find -name 'MyFile.txt' | sed -n 1p\``
Однако я не могу избежать правильного способа создания рабочего псевдонима:
alias jump="cd \`dirname \\\`find -name '$1' | sed -n 1p\\\`\`"
Выход:
/*
dirname: missing operand
Try `dirname --help' for more information.
bash: cd: find: No such file or directory
Моя логика заключается в том, что обратные черты необходимо экранировать в строке в двойных кавычках с одним \
, а я не могу сделать \\
переводится в один обратный слеш в строке, поэтому для второго вложенного обратного удара требуется 1 + 2 = 3.
Есть предложения?