我试图在Linux上做一个兼容的“say”命令。 到目前为止这工作:
alias say='echo "$1" | espeak -s 120 2>/dev/null'
我将它添加到/etc/bash.bashrc。 问题是,这是从my_ruby_file.rb调用的。 我明白了什么是问题,但是我不能改变这个文件。 Ruby文件使用sh,而不是bash。 我的问题是,我怎样才能使用这个别名,所以say可以在所有的shell?
每个shell都有自己的别名文件。 您必须将别名添加到每个shell的文件中,即使这样也不能保证从Ruby执行的shell中读取别名文件。 在这种情况下,最好在你的.rb文件中识别的path中创build一个名为“say”的脚本,而不是shell别名。