Aqui é a resposta. Mas essa questão aponta para bash como o alvo do problema.
A explicação é que find encontra "$HOME/MySymlinkedPath" . É um link simbólico, não um diretório, então a descida recursiva pára por aí. Se a expressão corresponder a "$HOME/MySymlinkedPath" (por exemplo, em find "$HOME/MySymlinkedPath" -name 'My*' ), então find imprimiria isso como uma correspondência.
Como apontado, descobri que a maneira mais fácil e mais limpa de lidar com isso e corrigir todos os scripts é, em vez de:
find "$HOME/MySymlinkedPath" -name "run*.sh"
adicione apenas uma barra, para que find inicie não a partir do link simbólico, mas do destino do link simbólico:
find "$HOME/MySymlinkedPath/" -name "run*.sh"
Como alternativa, passe a opção -H para find (observe que ela deve vir primeiro, antes dos caminhos) para informar que ela percorre os links simbólicos passados em sua linha de comando. (Isso é diferente de -L , que diz find para percorrer os links simbólicos encontrados durante a descida recursiva também.)
find -H "$HOME/MySymlinkedPath" -name "run*.sh"
E finalmente funcionou melhor aqui com -L (por causa dos vários sistemas de arquivos que eu tenho link simbólico através de pastas). Mas gera cargas de mensagens de erro não problemáticas, por isso adicionei 2>/dev/null ; e também decidi criar este alias alias find='find -L' :
find -L "$HOME/MySymlinkedPath" -name "run*.sh" 2>/dev/null