У меня была та же проблема, и моя установка была правильной, iOS> = 9.0, цель была добавлена.
Проблема заключалась в индексировании XCode, которое заняло некоторое время (около 1 часа), после того как индексирование было выполнено, кнопка записи становится активной.
Вы нашли способ: создать функцию вместо псевдонима. Оболочка C имеет механизм для передачи аргументов псевдонимам, но bash и оболочка Korn нет, потому что механизм функций более гибкий и предлагает те же возможности.
На самом деле вы не можете делать то, что хотите, с псевдонимами Bash, поскольку псевдонимы статичны. Вместо этого используйте созданную вами функцию.
Дополнительные сведения см. Здесь: http://www.mactips.org/archives/2008/01/01/increase-productivity-with-bash-aliases-and -функции / . (Да, я знаю, что это mactips.org, но это о Bash, так что не беспокойтесь.)
В ksh нельзя, но можно в csh.
alias mkcd 'mkdir \!^; cd \!^1'
В ksh можно использовать функцию. Но если вы действительно хотите использовать псевдоним:
alias mkcd='_(){ mkdir $1; cd $1; }; _'
Процитируем страницу руководства bash:
Нет механизма для использования аргументов в тексте замены. Если необходимы аргументы, следует использовать функцию оболочки (см. ФУНКЦИИ ниже).
Похоже, вы сами ответили на свой вопрос - используйте функцию вместо псевдонима
Это работает в ksh:
$ alias -x mkcd="mkdir \$dirname; cd \$dirname;"
$ alias mkcd
mkcd='mkdir $dirname; cd $dirname;'
$ dirname=aaa
$ pwd
/tmp
$ mkcd
$ pwd
/tmp/aaa
Параметр «-x» делает псевдоним «экспортированным» - псевдоним отображается в подоболочках.
И имейте в виду, что псевдонимы, определенные в script не отображаются в этом сценарии (поскольку псевдонимы раскрываются при загрузке сценария, а не при интерпретации строки). Это можно решить, выполнив другой файл сценария в той же оболочке (используя точку).