我正在尝试在 Linux 上创建兼容的“say”命令。到目前为止,此命令有效:
alias say='echo "$1" | espeak -s 120 2>/dev/null'
我将其添加到 /etc/bash.bashrc。问题是,这say
是从 my_ruby_file.rb 调用的。我明白问题所在,但我无法更改文件。Ruby 文件使用 sh,而不是 bash。我的问题是,我如何使用这个别名,以便say
在所有 shell 中可用?
答案1
每个 shell 都有自己的别名文件。您必须将别名添加到每个 shell 的文件,即使这样,您也不能保证从 Ruby 执行的 shell 读取别名文件。您最好(在本例中)在 .rb 文件中识别的路径中的某个位置创建一个名为“say”的脚本,而不是 shell 别名。