Поскольку оболочка не передает псевдонимы дочерним процессам (кроме случаев, когда вы используете $ () или ``).
$ alias sayHello = '/ bin / echo "Hello world!"'
Теперь в этом процессе оболочки известен псевдоним, что нормально, но работает только в этом одном процессе оболочки.
$ sayHello
Hello world!
Поскольку вы сказали "sayHello" в той же оболочке, она работала.
$ nohup sayHello
Здесь программа nohup запускается как дочерний процесс.Следовательно, он не будет получать псевдонимы.Затем он запускает дочерний процесс "sayHello" - который не найден.
Для вашей конкретной задачи лучше всего сделать так, чтобы новые "perl" и "python" выглядели как можно более нормальными.Я бы предложил установить путь поиска.
В вашем ~ / .bash_profile добавьте: export PATH = "/ my / блестящий / interpreters / bin: $ {PATH}"
Затем выполните повторный запуск.
Поскольку это переменная среды, она будет передаваться всем дочерним процессам, независимо от того, являются ли они оболочками или нет - теперь она должна работать очень часто.