Bash: Вложенные обратные кавычки в псевдониме вызывают проблемы

Я пытаюсь написать псевдоним, который будет переходить в каталог-потомок cwd, содержащий указанный файл (или первое найденное найденное вхождение с таким именем файла):

Следующая комбинация команд приводит к желаемому результату:

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.

Есть предложения?

9
задан KomodoDave 19 January 2012 в 15:22
поделиться