Я пытаюсь сделать совместимую команду «сказать» в Linux. Пока это работает:
alias say='echo "$1" | espeak -s 120 2>/dev/null'
Я добавляю это в /etc/bash.bashrc. Проблема в том, что это say
вызывается из my_ruby_file.rb. Я понял, в чем проблема, но не могу изменить файл. В файле Ruby используется sh, а не bash. У меня вопрос, как я могу использовать этот псевдоним, чтобы say
будет доступен во всех оболочках?
У каждой оболочки есть собственный файл псевдонимов. Вам нужно будет добавить псевдоним к каждому файлу оболочки, и даже в этом случае вам не гарантируется чтение файла псевдонима из оболочки, запущенной из Ruby. Лучше (в этом случае) создать сценарий с именем "say" где-нибудь по пути, распознанному в вашем .rb файле, вместо псевдонима оболочки.