В ksh93
составные имена переменных и namerefs
не идут вместе, но работает наоборот:
typeset -n First=person.name
typeset -n Last=person.surname
person.name=John
person.surname=Doe
echo $First $Last
John Doe
Проблемы включают моторную память, если затем в чужой системе, где этот псевдоним не настроен, а затем происходит что-то плохое, как вы ожидали rsync
, но вместо этого произошло cp
(завершающие косые черты или отсутствие он может отличаться в двух командах). Или вы могли бы иметь привычку передавать флаги rsync
чему-то, называемому cp
, что-то снова плохое для запоминания, если cp
никогда не будет- rsync
, а потом кто знает, что произойдет, когда cp
получит флаги rsync
? Вероятно, проще создать псевдоним not-cp-nor-rsync и научиться использовать его вместо этого или подумать о команде в течение нескольких секунд, прежде чем нажать Enter.